Hallo,
ich bräuchte Hilfe beim invertieren von meiner verketteten Liste.
Ich hab mir die Standardmethoden geschrieben, wie
vorne Einketten, hinten Einketten, an Position löschen, Position finden, ausgeben.
Nun fehlt mir aber noch die gute alte Inverse.
Gemeint ist damit, dass ich die Kette einfach umdrehe, also aus den Werten 1 - 2 - 3
nach der Inversion eine 3 - 2 - 1 wird. Der Anfang soll nun also auf 3, statt 1 zeigen und
die 1 auf das Ende schauen.
Das hier ist mein Code:
Wenn ich das Programm debugge, springt e vom ersten Element zum zweiten (so wie es sein soll), danach aber wieder zum ersten zurück. Es kommt dabei immer eine Endlosschleife raus.
Bzw. wenn ich die Elemente 1 - 2 - 3 in der Liste habe und mit println mir den Wert von e ausgeben möchte: 21212121212121.....................21212121212121.........212121
Hoffentlich könnt ihr mir Helfen, würde mich ziemlich freuen, vorallem weil ich einige Zeit ins darüber
nachdenken gesteckt habe, aber ich einfach auf nichts brauchbares stoße.. fuck
ich bräuchte Hilfe beim invertieren von meiner verketteten Liste.
Ich hab mir die Standardmethoden geschrieben, wie
vorne Einketten, hinten Einketten, an Position löschen, Position finden, ausgeben.
Nun fehlt mir aber noch die gute alte Inverse.
Gemeint ist damit, dass ich die Kette einfach umdrehe, also aus den Werten 1 - 2 - 3
nach der Inversion eine 3 - 2 - 1 wird. Der Anfang soll nun also auf 3, statt 1 zeigen und
die 1 auf das Ende schauen.
Das hier ist mein Code:
Java:
public void invertieren(){
Element e = anfang.nElement; // n.Element zeigt immer auf d. nächste Element
Element c = e; // e ist d. erste Element. c ist Puffervariable,um später
Element h = null; // die 1 dann auf das Ende zeigen zu lassen
Element q = null;
while(e.nElement != null){
q = e.nElement; // q ist das Element das n. e kommt.
h=e;
e=e.nElement; // e ist Schleifenvariable
q.nElement=h;
}
anfang.nElement = e; // der Anfang soll nun wieder auf e zeigen
c = ende; // c enthält ja Adresse vom ehemals ersten Element..
}
Wenn ich das Programm debugge, springt e vom ersten Element zum zweiten (so wie es sein soll), danach aber wieder zum ersten zurück. Es kommt dabei immer eine Endlosschleife raus.
Bzw. wenn ich die Elemente 1 - 2 - 3 in der Liste habe und mit println mir den Wert von e ausgeben möchte: 21212121212121.....................21212121212121.........212121
Hoffentlich könnt ihr mir Helfen, würde mich ziemlich freuen, vorallem weil ich einige Zeit ins darüber
nachdenken gesteckt habe, aber ich einfach auf nichts brauchbares stoße.. fuck