PDA

View Full Version : Alberi in C


lamga
02-07-2016, 15:31
Ciao a tutti!
Sono alle prese con un algoritmo che dato in input un albero binario B contenete chiavi intere e un numero intero q restituisca la lista delle etichette dei nodi a livello q da sinistra a destra. Il problema è che l'algoritmo che ho scritto restituisce una lista con un solo elemento.. mi potete dare una mano? (si suppone che 0<=q<=altezza (B))


lista addHead(lista F, int elem){
lista lAux=(lista) malloc(sizeof(listanode));
lAux->val=elem;
lAux->next=F;
return lAux;
}

lista livellokAUX(tree A, lista L, int k, int j){
if(j==k){
L=insertTESTA(L,A->key);
return L;
}
else{
if(A->right!=NULL) livellokAUX(A->right,L,k,j+1);
if(A->left!=NULL) livellokAUX(A->left,L,k,j+1);
}
}


lista livelloK(tree B, int q){
lista P; P=NULL;
P=livellokAUX(B,P,q,0);
return P;
}