cs_azamharir
Messages postés55Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 1 novembre 2008
-
3 mars 2007 à 23:19
cs_azamharir
Messages postés55Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 1 novembre 2008
-
4 mars 2007 à 15:45
Salut
j'utitise un conteneur set définit ainsi : set <noeud*> avec noeud une
classe représentant un noeud d'un arbre. J’utilise des pointeurs (noeud*) car à
chaque fois que j'inserts un noeud dans l'arbre je mets un pointeur sur ce
noeud dans la set.
Pour l'insertion dans la set, ça marche et aussi l'affichage de ses éléments.
Mais pour la fonction find et même pour l'ordre dans la set après chaque
insert(noeud*) ça ne marche pas.
Pouvez vous me donner les prototypes des opérateurs < et == à surdéfinir car
j'essaie et je ne trouve pas?
et si je dois utiliser un objet fonction comme prédicat, donnez moi le prototype de son opérateur
().
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 4 mars 2007 à 10:35
Mais dans le cas d'un pointeur, il existe deja une relation d'ordre. Si tu utilises un set, tes pointeurs seront ordonnées de l'adresse la plus faible a la plus élevé par défaut. (perso, je vois pas l'intéret si ce n'est d'etre sur qu'il n'existe qu'une occurence du pointeur dans ton conteneur).
pour la recherche:
if (ton_set.find(ton_pointer) != ton_set.end()) Alors le pointeur est trouvé.
cs_azamharir
Messages postés55Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 1 novembre 2008 4 mars 2007 à 15:45
salut
merci [auteurdetail.aspx?ID=15482 luhtor], mais tous ce que tu as dis je le sais.
moi, je veus à chaque insertion ds l'arbre inserer un pointeur ,du noeud inséré, dans ma set sans faire une nouvelle allocation de mémoire.
à chaque fois que je veus inserer ds l'arbre je dois vérifier que la valeur contenue ds le noeud n'est pas ds un autre noeud de la set.
donc, je ne compare pas les adresses mais les valeurs contenus ds les noeuds.
si quelqu'un a une idée je suis preneur.
merci d'avance et @++