Version itérative de la copie d'un ABR
Bonsoir,
Je voudrais implémenter la version itérative de la copie d'un arbre binaire de recherche dans un autre ABR.
La version récursive est la suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
node * copier(node* A, node* B)
{
if(A!=NULL)
{
B=inserer_rec(B,A->val);
copier(A->FG,B);
copier(A->FD,B);
}
return B;
} |
Pour la version itérative j'ai pensé à utiliser une file dont les cellules renferment les nœuds de l'arbre originale:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
node * copie(node* A, node* B)
{
File* F;
node* root; cellule* a;
if (A!=NULL)
enfiler(A,F);
while(!FileEstVide(F))
{
root=F->tete->valeur; /* la cellule contient un nud */
B=inserer_rec(B,root->val); /* le nud contient un entier */
defiler(F);
enfiler(root->FG,F);
enfiler(root->FD,F);
}
return B;
} |
Je n'arrive pas à récupérer l'arbre B pour l'afficher.
Pourriez-vous m'aider à repérer le problème?
Merci d'avance