Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung |
faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert [20.10.2021 20:00] – [Einfügen eines neuen Elements] sbel | faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert [23.11.2023 16:01] (aktuell) – Marco Kuemmel |
---|
| |
====== Einfügen eines neuen Elements ====== | ====== Einfügen eines neuen Elements ====== |
| |
Das Einfügen eines neuen Knotens ist im folgenden Objektdiagramm dargestellt. Man muss beim ändern der Objektreferenzen (''nextNode'') darauf achten, dass die Reihenfolge stimmt und man die Referenz auf den ursprünglichen Nachfolger des Knotens, hinter dem der neue Knoten eingefügt wird nicht verliert. ((Hier: Aufpassen, dass man ''node2'' nicht "verliert", sonst ist die Liste an dieser Stelle unterbrochen und alle Nachfolger werden von der Garbage Collection entsorgt...)) | Das Einfügen eines neuen Knotens ist im folgenden Objektdiagramm dargestellt. Man muss beim Ändern der Objektreferenzen (''nextNode'') darauf achten, dass die Reihenfolge stimmt und man die Referenz auf den ursprünglichen Nachfolger des Knotens, hinter dem der neue Knoten eingefügt wird nicht verliert. ((Hier: Aufpassen, dass man ''node2'' nicht "verliert", sonst ist die Liste an dieser Stelle unterbrochen und alle Nachfolger werden von der Garbage Collection entsorgt...)) |
| |
{{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert.drawio.png?700 |}} | {{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert.drawio.png?700 |}} |
=== (A2) === | === (A2) === |
| |
Implementiere die Methode ''insertAt'', so dass man damit ein neues Element nach dem n-ten Listenelement einfügen kann. | Implementiere die Methode ''insertAt(index: int, val: T)'', sodass man damit ein neues Element nach dem n-ten Listenelement einfügen kann. |
| |
Teste deine Methode, indem du Elemente in eine Liste einfügst und mit dem Objektinspektor überprüfst, dass das neue Element an der richtigen Stelle eingefügt wurde - und dass die Nachfolgenden Knoten noch erreichbar sind. Welche Testfälle sind besonders interessant? | Teste deine Methode, indem du Elemente in eine Liste einfügst und mit dem Objektinspektor überprüfst, dass das neue Element an der richtigen Stelle eingefügt wurde - und dass die nachfolgenden Knoten noch erreichbar sind. Welche Testfälle sind besonders interessant? |
| |
| //Tipp: Nutze die bereits implementierte Methode ''getNode(index: int): Node''// |
| |
++++ Lösungsvorschlag | | ++++ Lösungsvorschlag | |
</code> | </code> |
++++ | ++++ |
| |
| ---- |
| |
| <btn>[[..:liste_java:lengthvalue|<<< Zurück zur Länge und Wert auslesen >>> ]]</btn> **oder** <btn>[[..:liste_java:remove|Weiter zum Löschen >>> ]]</btn> |