ciao a tutti,
secondo voi per quale motivo la mia funzione di inversione lista non mi riporta l'ultimo elemento della lista originale?
codice:
typedef struct _list {
int n;
struct _list *next;
}list;
list* listinvert(list* head){
list *new, *prec, *tmp;
tmp=head->next;
head->next=NULL;
prec=head;
new=tmp;
for(; new->next!=NULL; new=tmp){
tmp=new->next;
new->next=prec;
prec=new;
}
new->next=prec;
head=new;
return head;
}
risultato da terminale:
fi-user@fiuser-VirtualBox:~/Scrivania/Esame$ ./invertilista
1
2
3
4
5
lista invertita: 5 4 3 2