Ciao a tutti, Ho una lista lineare sulla quale devo effettuare questa opearzione: Invertire il terzo nodo della lista con il primo...Mi spiego mettiamo la lista sia 1->2->3->4
dovrei avere 3->2->1->4...Qualkuno puo aiutarmi...??Grazie...
Ciao a tutti, Ho una lista lineare sulla quale devo effettuare questa opearzione: Invertire il terzo nodo della lista con il primo...Mi spiego mettiamo la lista sia 1->2->3->4
dovrei avere 3->2->1->4...Qualkuno puo aiutarmi...??Grazie...
fai diventare 3 il nodo head. fai puntare 3.next a 1.next, 1.next a 3.next, 3.prev.next a 1.next (se la lista è concatenata doppiamente, cioè se hai il campo prev) oppure devi necessariamente conoscere anche 2 (comunque 2 = 1.next), a quel punto fai 2.next = 1.
Ovviamente devi aiutarti con variabili d'appoggio per gli scambi.
Molto più semplice a farlo che a dirlo. Disegna lo schema su un foglio di carta e muovi le frecce, ci arrivi in un niente
![]()
Sikkome sono nuovo del forum potresti postarmi tv la realizzazione...??Grazie..Inoltre il next sta per il puntatore al nodo successivo??...Grazie tante
Inoltre la lista non è circolare..
Mi spiace ma mi manca il tempo adesso.
Prova a realizzare almeno una bozza dell'algoritmo da solo, seguendo le istruzioni che ti ho dato, e postalo.
Sì, next è il puntatore al nodo successivo
No, non parlavo di liste circolari, ma di liste concatenate doppiamente. Comunque è un altro discorso, se l'esercizio è scambiare 1 con 3, allora puoi evitare di soffermarti sulla questione di scambio di due nodi qualsiasi.
Ti consiglio di procedere da solo, ma se proprio non ti va, "swap nodes list" come chiave di ricerca su google ti darà diversi risultati credo.
![]()
Potresti modicarmi il codice ke mi hai messo facendo riferimento anke a 2..??Nn c'è il campo prev..Grazie..
voglio dire che 2 lo conosci gia. infatti 2 è 1.next (ovviamente prima che fai questo: 1.next = 3.next).comunque 2 = 1.next
con questo voglio direa quel punto fai 2.next = 1
codice:node due = 1.next; due.next = uno // uno è il nodo 1
Fai attenzione all'ordine degli scambi e a come usi le variabili di appoggio durante lo scambio
![]()