Arbre Binaire de Recherche générique - C++ - Programmation
Marsh Posté le 16-10-2005 à 11:50:06
A vue de nez, je pense que tes methodes "effacer" font le travail du destructeur. Moi, je virerais les methodes "effacer" et mettrais leur contenu dans le(s) destructeur(s) (la ou tu n'etais pas sur qu'il faille rien mettre). Mais p-e que je me trompe et que ce n'est pas possible partout, a voir.
Dans le meme ordre d'idees, Noeud<Type>::Noeud(Type el,...) devrait a mon avis etre plutot Noeud<Type>::Noeud(Type *el=NULL, ...).
Taz te dirait sans doute que tu reinventes la roue, - mais l'exercice est interessant -, et aussi (avec raison) que les accesseurs n'ont pas besoin de s'appeler get et set, mais que get_element peut s'appeler plus simplement element() et set_element(Type el) plus simplement element(Type el).
Il y ad'autres trucs bizarres comme cette fonction censée retourner un bool et dans laquelle on lit "return 0;" et "return 1;".
Enfin, pour tester ce type d'algo assez delicat, un coup de Valgrind ou de Boundschecker n'est pas superflu.
Marsh Posté le 16-10-2005 à 01:24:08
Yo,
Alors voilà j'ai fait ma petite classe ABR générique qui marche pas trop mal, manque plus que des trucs tordus genre les fonctions de réequilibrage de l'arbre.
Je poste surtout ce code pour entendre des critiques sur ma façon de m'y prendre (je suis un noob en C++), histoire d'éviter les mauvaises habitudes.
J'ai surement oublié grave de trucs.
PS : Taz, tappe pas trop fort stp
La classe Noeud (bon là cash il y a un gros defaut c'est *fils_gauche et *fils_droit qui sont en public, bein oué ... faudrai que je change apres) :
La classe ABR :
Le petit main :
Ca compile et s'execute sans probs du moins avec ces quelques ptits tests dans le main.
---------------
Scheme is a programmable programming language ! I heard it through the grapevine !