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
Modérateur
Dernière intervention
15 juillet 2011
35
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
1
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
41
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