Ajout d'un élément à un arbre
bonsoir, j'ai trouvé ce code qui fonctionne bien et qui permet d'ajouter un élément a un ABR :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
arbre* Ajout(arbre *racine, arbre *elt)
{
if(racine == NULL)
{
return elt;
}
else
if(elt->info < racine->info)
{
racine->FG = Ajout3(racine->FG,elt);
}
else
{
racine->FD = Ajout3(racine->FD,elt);
}
} |
ce que je comprends pas c'est comment la racine de l'arbre sera retournée au programme principale
sans ajouter l'instruction return racine comme j'ai fais dans cette version personnalisée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| arbre* Ajout3(arbre *racine, arbre *elt)
{
if(racine == NULL)
{
return elt;
}
else
if(elt->info < racine->info)
{
racine->FG = Ajout3(racine->FG,elt);
return racine;
}
else
{
racine->FD = Ajout3(racine->FD,elt);
return racine;
} |