Markus Innerebner
2004-05-27 14:39:28 UTC
Hallo ihr, ich grüble seit mehreren Stunden um mein Problem mit
LinkedListen zu lösen:
Arbeite mit zwei LinkedList: LinkedListA, LinkedListB
Hierbei geht es darum, dass ich in einem Schleifendurchlauf je je ein
Element von LinkedListA nach LinkedListB verschiebe (also gleichzeitig
von LinkedListA lösche). Das Problem ist, dass ich beim Löschen auf den
Index des Elementes zugreifen muss. Mein Element-Objekte haben ein
ID-Attribut, durch welches ich notwendigerweise auf LinkedListA
zugreifen muss. Da sich aber nach einem Löschvorgang alle Elemente in
der LinkedList, die rechts vom bereits entfernten Objekt stehen, sich
der Index um eins dekrementiert, ist die Zuweisung nicht richtig.
Versucht hab ichs, die mit einem Zähler zu machen, aber da ist das
Problem, wenn ich nun ein Objekt (o2) wieder rechts vom bereits
entfernten Objekt (o1) entferne, erhöht sich der Zähler der Nachfolger
von o2 um noch eins (2) während die die links von o2 und rechts von o1
stehen gleich bleibt (1).
Bin da beim Rumüberlegen und weiss nicht weiter.
Wäre froh wenn ihr mir da weiterhelfen könnt (Pseudocode-Form) reicht
vollkommen aus.
vielen Dank im voraus
Markus Innerebner
LinkedListen zu lösen:
Arbeite mit zwei LinkedList: LinkedListA, LinkedListB
Hierbei geht es darum, dass ich in einem Schleifendurchlauf je je ein
Element von LinkedListA nach LinkedListB verschiebe (also gleichzeitig
von LinkedListA lösche). Das Problem ist, dass ich beim Löschen auf den
Index des Elementes zugreifen muss. Mein Element-Objekte haben ein
ID-Attribut, durch welches ich notwendigerweise auf LinkedListA
zugreifen muss. Da sich aber nach einem Löschvorgang alle Elemente in
der LinkedList, die rechts vom bereits entfernten Objekt stehen, sich
der Index um eins dekrementiert, ist die Zuweisung nicht richtig.
Versucht hab ichs, die mit einem Zähler zu machen, aber da ist das
Problem, wenn ich nun ein Objekt (o2) wieder rechts vom bereits
entfernten Objekt (o1) entferne, erhöht sich der Zähler der Nachfolger
von o2 um noch eins (2) während die die links von o2 und rechts von o1
stehen gleich bleibt (1).
Bin da beim Rumüberlegen und weiss nicht weiter.
Wäre froh wenn ihr mir da weiterhelfen könnt (Pseudocode-Form) reicht
vollkommen aus.
vielen Dank im voraus
Markus Innerebner