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:
Pour la version itérative j'ai pensé à utiliser une file dont les cellules renferment les nœuds de l'arbre originale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Je n'arrive pas à récupérer l'arbre B pour l'afficher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Pourriez-vous m'aider à repérer le problème?
Merci d'avance
Partager