Arbre binaire -> liste chainé
Bonsoir, je bloque sur un exo alors je dois renvoyer la liste des valeurs des noeuds de l'arbre binaire A qui sont à profondeur p , il s'agit de lafonction liValprof (j'ai utiliser la fonction creerLSC qui crée une liste chainé et la fonction concatLSC qui concatène deux listes ) si quelqu'un pourrait m'aider s'il vous plait merci d'avance.
Code:
1 2 3 4 5
| ListeSC creerLSC(int val, ListeSC succ){
ListeSC l = new CelluleSC;
l->info=val;
l->succ=succ;
return l;} |
Code:
1 2 3 4 5 6 7 8
| ListeSC concatLSC(ListeSC L1, ListeSC L2){
ListeSC P;
if (L1==NULL) return L2;
else {
P= L1;
while (P->succ != NULL) P=P->succ;
P->succ = L2;
return L1;}} |
Code:
1 2 3 4 5 6 7 8 9 10
| ListeSC liValprof(ArbreBin A,int p){
p=2;
if(A==NULL){
return NULL;}
if(p==0){
return concatLSC(creerLSC(A->info,liValprof(A->sag,p)),liValprof(A->sad,p));}
else{
return concatLSC(liValprof(A->sag,p-1),liValprof(A->sad,p-1));}
} |