|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2002
Messaggi: 17
|
Strutture dinamiche in C!!!
Ciao, ho un esercizio da consegnare x lunedì ed è questo:
Data una lista concatenata in C, scrivere una f.ne che esegua il rovesciamento della lista. Ad es. x la lista 3>6>8>1 la f.ne modifica la lista in modo da ottenere 1>8>6>3... come si fa??? Grazie x l'aiuto!!! Ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Magari dico una stupidata, ma... non era piu' semplice partire con due cursori, uno dal primo nodo e uno dall'ultimo, e fare uno scambio del contenuto dei nodi stessi ?
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Chiaro...comunque dipende dalla soluzione richiesta... Solitamente questi esercizi richiedono di non effettuare operazioni sui nodi...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Ok allora io farei cosi':
Supponendo di avere una funzione che inserice un nodo in testa (molto semplice da fare), scorro tutta la lista originale aggiungendo via via i nodi visitati in testa ad una seconda lista inizialmente vuota. I nodi gia' visitati delle prima lista si possono deallocare. Alla fine si restituisce il puntatore alla nuova lista creata. Non e' effettivamente rovesciare come un calzino la lista originale, ma il risultato e' lo stesso Bye
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Quote:
Se convenga o meno modificare i valori direttamente dipende dall'uso che fai della lista: i valori potrebbero essere piu' grandi di semplici interi (e cosi' ti converrebbe cambiare i puntatori) oppure potresti voler tenerti puntatori alla lista (pratica poco 'pulita' comunque) ; in tal caso cambiando i puntatori next non ti cambia il contenuto "sotto il naso". Insomma, si puo' fare in mille modi differenti (i due post precedenti ? spariti ? |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:19.



















