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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
ListeSC creerLSC(int val, ListeSC succ){
  ListeSC l = new CelluleSC;
  l->info=val;
  l->succ=succ;
  return l;}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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));}
}