PARCOURS D'UN ARBRE

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 2 janv. 2007 à 20:30
krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007 - 2 janv. 2007 à 21:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40944-parcours-d-un-arbre

krissssss Messages postés 88 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 2 janvier 2007
2 janv. 2007 à 21:23
Le construction que tu vois est faisable.
n0 est un objet automatique.
Et l'affectation qui est apparente n'en est pas une, c'est un appel au constructeur par copie.

Quant au t->setRacine(n0), c'est justement l'idée qu'un arbre binaire est composé de sous arbres gauches et droits qui peuvent êtres vides.

Quant au tuto j'en ai lu assez.

Merci pour le commentaire.
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
2 janv. 2007 à 20:30
Qu'est ce donc cette construction ?
Node n0 = Node(); /* Appel du constructeur */
n0.setValeur('*');

pourquoi :
Tree* t = new Tree();
t->setRacine(n0);
Autant faire un constructeur qui prend un node !

La classe node ne sert à rien dans ton cas, tu pouvais l'intégrer dans le tree, surtout que la donnée est un char ! Pas de template ici...

Enfin le constructeur de copie de ton arbre me parait très très louche, pas testé le code mais bon, c'est bizarre.

Mais je te mets quant même 5/10 pour t'encourager.
Et je te conseille un tuto sur les ABR (arbres binaires de recherche) qui implémentent ce problème d'une façon tellement plus fluide et logique, surtout quant on pense à la réutilisation, pour ce code tu ne pourras jamais le réutiliser ou que ce soit.

Bonne continuation...
Rejoignez-nous