Arbre binaire

marwanos001 Messages postés 6 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 9 décembre 2009 - 5 janv. 2009 à 14:28
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 6 janv. 2009 à 11:41
stl tout le monde !!
j'ai  rencontré un problème dans la manipulation des arbres binaires de recherche!
par exemple je veut mettre toutes les feuilles de l'arbre dans une liste chainée :

liste creation_liste(arbre a,liste *l)
{
    if(a==NULL)
     return NULL;

    if((a->gauche==NULL)&&(a->droit==NULL))
     {
         (*l)=malloc(sizeof(element));
         (*l)->v=a->val;
         (*l)->suiv=creation_liste(a->gauche,&((*l)->suiv));
         return *l;
     }
        
         return creation_liste(a->gauche,l);
         return creation_liste(a->droit,l) ;

}
!aidez moi s.v.p!c'est très urgent

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
5 janv. 2009 à 15:14
Salut

Recherches sur les parcours d'arbres
exemple
http://www.math.u-psud.fr/~lichnew/spipE/rubrique.php3?id_rubrique=52

NB : ta focntion est mauvaise
ton dernier return est jamais appelé
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
5 janv. 2009 à 15:16
Déjà, une fonction ne peut retourner qu'une seule valeur.

Cordialement, uaip.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 janv. 2009 à 11:41
salut

t'as de gros problemes dans :
 - la gestion de l'allocation (ici, tu renvoies une valeur d'un truc que tu viens de malloc, jvois pas comment tu comptes liberer ensuite...)
 - les pointeurs ( (*l)=malloc(sizeof(element))  hum hum... )

et euh... parcourrir un arbre binaire de recherche, ca revient a le parcourrir de gauche a droite, c'est pas super difficile...
0
Rejoignez-nous