Ciao! Ho fatto questa funzione che dovrebbe eliminarmi le foglie...
avevo fatto quella per visualizzarle nella stessa maniera di questa solo con un printf al posto della free e allora funzionava.
Qui il problema credo, che ci sia perchè prima elimino una foglia e poi gli dico di accedere alla parte destra ad esempio.
Fatto sta che non ci sono errori di compilazione ma al posto di cancellare una foglia resta un numero residuo che viene visualizzato qualora richiamo la procedura per stampare l'albero. Come dovrei fare?
Basterebbe una piccola modifica a questa fnz ricorsiva?
typedef struct nodo *tree;
codice:void eliminafoglie(tree T) { if(!T) return; eliminafoglie(T->left); if(T->left==NULL && T->right==NULL) free(T); eliminafoglie(T->right); }