Prendi questo esempio
x = { prev=null; next=y }
y = { prev=x; next=z }
z = { prev=y; next=k }
k = { prev=z; next=null }
voi scambiare y con z.
y.prev = z
z.next = y
z.prev = y.prev
y.next = z.next
Aiutandoti con variabili temporanee chiaramente.
Avendo solo il campo next ti basta fare
y.next = z.next
z.next = y
I dati all'interno della struttura non vanno toccati, ti basta cambiare i puntatori