Perchè ricorsiva? Devi shiftare tuttigli elementi?
se l è un puntatore al primo elemento (beh, non ci sono molte alternative, o è un puntatore o è un puntatore a puntatore) memorizzi il primo, vai sul secondo e con un altro puntatore di supporto lo sposti indietro di una posizione finchè l non è NULL quindi ci sbatti dento il temp...
Non so se funzioni ma questo dovrebbe essere il procedimento corretto per quanto vuoi fare...codice:void FirstLast(ListaInteri l) { if(l==NULL) return; int temp; temp=l->membro; ListaInteri *previous=l; l=l->next; while(l!=NULL){ previous->membro=l->membro; previous=previous->next; FirstLast(l->next); } previous->membro=temp; }
Ovviamente al posto di membro ci va il nome del membro della tua struttura.

Rispondi quotando