Arbre binaire
Bonjour,cava tout le monde !
j'ai rencontré un problème dans la manipulation des arbres binaires !
par exemple je veut mettre les feuilles de l'arbre dans une liste chainée !!
j'ai essayé mais ça ne marche pas :
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) ;
}
s.v.p !j'ai besoin de votre aide !
urgent
j'ai rencontré un problème dans la manipulation des arbres binaires !
par exemple je veut mettre les feuilles de l'arbre dans une liste chainée !!
j'ai essayé mais ça ne marche pas :
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) ;
}
s.v.p !j'ai besoin de votre aide !
urgent
A voir également:
- Arbre binaire
- Binaire - Guide
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Editeur binaire - Télécharger - Édition & Programmation
- Ouvrir fichier binaire - Guide
- Arbre qui parle dessin animé ✓ - Forum Cinéma / Télé
1 réponse
Ben une fonction en C ne peut retourner qu'une chose à la fois, ça n'a donc pas de sens de mettre deux return à la suite (seul le premier sera exécuter). Si tu veux renvoyer les deux éléments, il faut renvoyer une structure qui stocke les deux éléments.
Ça ressemblerait donc plutôt à :
Bonne chance
Ça ressemblerait donc plutôt à :
struct paire_liste{
liste l1;
liste l2;
};
struct paire_liste creation_liste(arbre a,liste *l){
struct paire_liste p;
...
p.l1 = creation_liste(a->gauche,l);
p.l2 = creation_liste(a->droit,l);
return p;
}
Bonne chance