Pagina 1 di 1

[C] funzione per verificare se un albero binario è un abr

MessaggioInviato: mer set 21, 2011 8:54 am
da mame83
Ciao a tutti sono nuovo di questo forum ed ho questo problema: dato un albero binario devo creare una funzione ricorsiva in C che mi restituisce 0 se è un abr e 1 se non lo è. L idea che aveo pensato è quella di utilizzare la visita in ordine. se quest ultima è una successione ordinata crescente di valori allora è un ABR. Nella funzione che io creo gli passo due valori e di volta in volta verifico se il primo valore è minore del secondo, se si vado avanti se no mi fermo e ritorno 1.
Il secondo parametro lo inizializzo ad un valore piu grande che non posso mai inserire nell albero.
L output del mio programma invece mi resitutisce sempre 1.
Spero di essere stato chiaro e che qualcuno mi aiuti GRAZIE.
Codice: Seleziona tutto
int ABR(nod *radice, int *b)/*0 se è un abr, 1 se non lo è*/
{
 int confronto;
 if (radice!=NULL)
   {
     confronto=ABR(radice->sinistro,&(radice->info));
     printf("valore di radice e' %d \n",radice->info);
     printf("valore di b e' %d \n",*b);
     if (radice->info>(*b))
       return 1;/*dobbiamo uscire visto che il precedente è minore del successivo*/
     else
       confronto=0;  /*vado avanti*/
     confronto=ABR(radice->destro,&(radice->info));
   }
 return confronto;
 
}   

Re: [C] funzione per verificare se un albero binario è un ab

MessaggioInviato: mer set 21, 2011 1:52 pm
da mame83
ragazzi nessuno mi sa aiutare!!!!!!!!! è troppo difficle anche per voi?