Il mio problema è quello di eliminare più nodi da un albero, che devono rispettare una determinata proprietà. Ho già fatto la cancellazione di un solo elemento dall'albero e non h avuto problemi, allora ho pensato di richiamare la funzione che cancella un singolo nodo ogni qualvolta durante la visita dell'albero , il dato contenuto rispettasse quella proprietà e cioè :
Questo codice mi da problemi in esecuzione, la logica è completamente sbagliata ?codice:nodo *elimina_lista_prop(nodo *root,int p,char *str2,char *str3){ if(root!=NULL){ if(root->sx!=NULL) elimina_lista_prop(root,p,str2,str3); if (condizione) root=cancella_nodo_abr(root,root->stringa); if(root->dx!=NULL) elimina_lista_prop(root,p,str2,str3); } return root; }

Rispondi quotando