Per generare un albero casuale, usare queste due funzioni:
TipoAlbero GeneraAlbero(int n) {
TipoAlbero a;
if(rand()%(n+1)==0)
return NULL;
return GeneraAlberoRic(n);
}
TipoAlbero GeneraAlberoRic(int n) {
TipoAlbero a;
int i;
a=malloc(sizeof(struct NodoAlbero));
a->info=rand()%100-30;
if(n>0)
a->numfigli=rand()%5;
else
a->numfigli=0;
a->figli=malloc(sizeof(struct NodoAlbero *)*a->numfigli);
for(i=0; i<a->numfigli; i++)
a->figli[i]=GeneraAlberoRic(n-1);
return a;
}
Per testare le funzioni: generare un albero casuale, stamparlo, chiamare la funzione e verificare il risultato. Non è necessario sapere perchè queste due funzioni di sopra sono corrette.