Volevo sapere la vostra opinione a riguardo di un programma che riceva in ingresso una lista e deallochi quei nodi che non soddisfano un determinato criterio.
Mettiamo che la lista abbia un campo che contenga numeri interi e si voglia deallocare i nodi che contengano numeri negativi


codice:
lista sfrondalista (lista L) { 
                                            lista temp; 
                                            if ( L!=NULL) /*finchè non arrivo in fondo*/
                                            { 
                                              if (L->dato<0)  /*se è un numero negativo*/
                                                        {
                                                            temp=L; /*metto in temp il nodo da cancellare*/
                                                             L=L->next;  /*modifico L*/
                                                             free(temp);  /*cancello*/
                                                           }
                                           return sfrondalista(L)  /*faccio l'invocazione ricorsiva*/
                                          }
                                            returnL /* alla fine riottengo L*/
                                        }
che ne dite? potrebbe funzionare? grazie per i vostri suggerimenti