Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert [20.10.2021 18:57] – sbel | faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:insert [23.11.2023 16:01] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | |||
====== 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 | + | Das Einfügen eines neuen Knotens ist im folgenden Objektdiagramm dargestellt. Man muss beim Ändern |
{{ : | {{ : | ||
Zeile 8: | Zeile 7: | ||
{{: | {{: | ||
=== (A1) === | === (A1) === | ||
- | Schreibe als Merksatz stichwortartig nieder, was beim Einfügen eines neuen Knotens | + | Schreibe als Merksatz stichwortartig nieder, was beim Einfügen eines neuen Knotens |
---- | ---- | ||
Zeile 14: | Zeile 13: | ||
=== (A2) === | === (A2) === | ||
- | Implementiere die Methode '' | + | Implementiere die Methode '' |
- | Teste deine Methode, indem du Elemente in eine Liste einfügst und mit dem Objektinspektor überprüfst, | + | |
+ | Teste deine Methode, indem du Elemente in eine Liste einfügst und mit dem Objektinspektor überprüfst, | ||
+ | |||
+ | //Tipp: Nutze die bereits implementierte Methode '' | ||
++++ Lösungsvorschlag | | ++++ Lösungsvorschlag | | ||
- | Kann sicher weiter optimiert werden. | + | |
<code java> | <code java> | ||
/** | /** | ||
Zeile 30: | Zeile 32: | ||
Node< | Node< | ||
| | ||
- | // Wenn der Index groesser als die Laenge ist | ||
- | // passiert nix | ||
- | if (this.length() < index) { | ||
- | return; | ||
- | } | ||
- | |||
// Wenn der Index Null ist, muss das Element als erster neuer | // Wenn der Index Null ist, muss das Element als erster neuer | ||
// Knoten eingefuegt werden | // Knoten eingefuegt werden | ||
Zeile 41: | Zeile 37: | ||
new_node.setNext(first); | new_node.setNext(first); | ||
first = new_node; | first = new_node; | ||
- | return; | + | |
- | | + | Node< |
- | // In allen anderen Faellen muss das n-te Element | + | new_node.setNext(n.getNext()); |
- | // aufgesucht werden und der neue Knoten dort eingefügt werden. | + | n.setNext(new_node); |
- | | + | } |
- | for (int i=1; i<index; i++) { | + | |
- | | + | |
- | } | + | |
- | + | ||
- | | + | |
- | n.setNext(new_node); | + | |
| | ||
} | } | ||
+ | | ||
</ | </ | ||
++++ | ++++ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < |