Ciao!!! Devo scrivere una procedura che inverta gli elementi di una lista. Cioè se l'input è 1,2,3,4 l'output sarà 4,3,2,1. Questa qui non funziona...Qualche suggerimento?? Grazie![]()
![]()
codice:void ribalta(Pnodo &TL1,Pnodo TL,Pnodo L)//TL1,TL ed L inizialmente sono tutti la testa lista { Pnodo tmp1,tmp2; if(TL1==TL) { while(L->next!=NULL) L=L->next; tmp1=L; tmp2=TL; TL1=tmp1; L=NULL; TL1->next=tmp2; return ribalta(TL1,TL,TL1); } else if(TL->next!=NULL) { while(L->next!=NULL) L=L->next; tmp1=L; tmp2=TL; L=NULL; TL=tmp1; TL->next=tmp2; return ribalta(TL1,TL->next,TL->next); } }

Rispondi quotando