Verifica per semplici casi limite . Se il puntatore di testa è nullo , la lista è vuota e nessun lavoro deve essere fatto . Se indicatore accanto al capo è nullo , c'è solo un elemento della lista , in modo da invertire non si fa nulla .
Se testa = null allora returnif testa - > next = null poi tornare
2
Inizializzare tre puntatori : prec , correnti e successivi. " Indietro " e "corrente" dovrebbero puntare al nodo della lista . "Avanti" deve puntare al secondo nodo , cercando in puntatore del nodo testa
puntatore
prev = testa ; . Corrente del puntatore = testa ; puntatore next = testa - > next ;
3
indicatore accanto al nodo di testa a null . Il nodo principale diventerà l'ultimo nodo della lista , quindi non ci saranno nodi dopo di esso.
Testa - > next = null
4
Loop attraverso la lista invertire la direzione dei puntatori . I tre puntatori inizializzati in precedenza vengono utilizzati per tenere traccia della posizione corrente nell'elenco .
Mentre accanto ! = Null //A nullo prossimo puntatore significa che abbiamo raggiunto la fine della prossima listcurrent = //Advance il pointernext corrente = current- > next //avanzare alla prossima pointercurrent - > next = prev //Point il nodo corrente al nodo precedente , invertendo il linkprev = corrente //Avanza l'ultimo pointerend mentre
5
punto la variabile testa alla nuova testa della lista .
testa = corrente
Programmazione © www.354353.com