Hallo zusammen,
ich soll eine zweifach verkettete Liste schreiben, an der sich an einer gewünschten Stelle m ein neues Element einsetzen lässt. So weit kein Problem.
Danach soll ich die gesamte Liste allerdings umkehren und ausgeben. Ich hab das ganze geschrieben, verliere aber immer alle Elemente, außer das, dass ich am ende der Liste stehen hab.
Die entsprechenden Code-Zeilen:
Ich hab mir das ganze schon mit Stift und Papier aufgemalt und geguckt, was sich da in den einzelnen Schritten tut, ob ich einen der Pointer vielleicht falsch setze oder vergesse, aber ich finde meinen Denkfehler einfach nicht.. Kann mir jemand von euch auf die Sprünge helfen?
ich soll eine zweifach verkettete Liste schreiben, an der sich an einer gewünschten Stelle m ein neues Element einsetzen lässt. So weit kein Problem.
Danach soll ich die gesamte Liste allerdings umkehren und ausgeben. Ich hab das ganze geschrieben, verliere aber immer alle Elemente, außer das, dass ich am ende der Liste stehen hab.
Die entsprechenden Code-Zeilen:
Java:
//Umdrehen der Liste
public void reverse() {
Elem pos;
Elem temp;
Elem temp2;
Elem nStart;
nStart = ende;
temp = ende;
temp2 = ende;
pos = ende;
while (temp != null) {
temp2 = pos.getNext();
pos.setNext(pos.getPrev());
temp = temp.getNext();
pos.setPrev(temp2);
pos = pos.getNext();
}
ende = temp2;
start= nStart;
start.setPrev(null);
ende.setNext(null);
}
Ich hab mir das ganze schon mit Stift und Papier aufgemalt und geguckt, was sich da in den einzelnen Schritten tut, ob ich einen der Pointer vielleicht falsch setze oder vergesse, aber ich finde meinen Denkfehler einfach nicht.. Kann mir jemand von euch auf die Sprünge helfen?