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:append [20.10.2021 15:14] – sbel | faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append [11.04.2024 06:10] (aktuell) – Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Anhängen eines neuen Listenknotens ====== | ====== Anhängen eines neuen Listenknotens ====== | ||
- | ---- | ||
- | {{: | ||
- | === (A3) Die Methode " | ||
Beim Anhängen eines weiteren Knotens an die Liste sind zwei Fälle zu unterscheiden: | Beim Anhängen eines weiteren Knotens an die Liste sind zwei Fälle zu unterscheiden: | ||
Zeile 9: | Zeile 6: | ||
- Die Liste ist nicht leer | - Die Liste ist nicht leer | ||
- | **Liste leer** | + | ==== Liste leer ==== |
+ | |||
Wenn die Liste Leer ist, ist der Vorgang schnell beschrieben, | Wenn die Liste Leer ist, ist der Vorgang schnell beschrieben, | ||
Zeile 18: | Zeile 16: | ||
{{ : | {{ : | ||
- | **(A)** Implementiere in der Methode '' | + | {{: |
+ | === (A1) " | ||
+ | |||
+ | | ||
+ | * Teste deine Methode von Hand, indem du eine Liste für Integer Zahlen erzeugst und einen Knoten in die leere Liste einfügst. | ||
+ | * Überprüfe auch, dass deine zuvor implementierte Methode '' | ||
- | ---- | + | ==== Liste nicht leer ==== |
- | **Liste nicht leer** | + | |
Das folgende Objektdiagramm veranschaulicht die Schritte, die beim Anhängen eines neuen Knotens an eine nicht leere Liste auszuführen sind. | Das folgende Objektdiagramm veranschaulicht die Schritte, die beim Anhängen eines neuen Knotens an eine nicht leere Liste auszuführen sind. | ||
Zeile 27: | Zeile 29: | ||
{{ : | {{ : | ||
- | **(B)** Schreibe als Merksatz stichwortartig nieder, was beim Anhängen eines neuen Knotens alles passieren muss. | ||
- | **Bewegen in der Liste** | + | {{: |
+ | === (A2) === | ||
+ | Schreibe als Merksatz stichwortartig nieder, was beim Anhängen eines neuen Knotens alles passieren muss. | ||
+ | |||
+ | ==== Bewegen in der Liste ==== | ||
Ein konkretes Problem stellt sich noch in Schritt 2 des Ablaufs zum Einfügen eines neuen Knotens: Wie können wir uns durch die Liste bewegen, wenn das Listenobjekt selbst nur die Referenz auf den ersten Knoten kennt? | Ein konkretes Problem stellt sich noch in Schritt 2 des Ablaufs zum Einfügen eines neuen Knotens: Wie können wir uns durch die Liste bewegen, wenn das Listenobjekt selbst nur die Referenz auf den ersten Knoten kennt? | ||
Zeile 38: | Zeile 44: | ||
// Neuer Zähler | // Neuer Zähler | ||
int i=0; | int i=0; | ||
- | // Zählen bis 99 | + | // Zählen bis 100 |
while (i < 100) { | while (i < 100) { | ||
i++; | i++; | ||
} | } | ||
- | // Ende der Zahlenreihe erreicht, i = 99 | + | // Ende der Zahlenreihe erreicht, i = 100 |
</ | </ | ||
// Knotenzeiger erzeugen, auf first setzen | // Knotenzeiger erzeugen, auf first setzen | ||
Zeile 50: | Zeile 56: | ||
n = n.getNext(); | n = n.getNext(); | ||
} | } | ||
- | // Jetzt zeigt current | + | // Jetzt zeigt n auf den letzten Knoten.</ |
- | **(C)** Implementiere den zweiten Fall der Methode '' | ||
- | ++++ Lösungsvorschlag zur Methode "anhaengen" | | + | {{: |
+ | === (A3) " | ||
+ | |||
+ | Implementiere den zweiten Fall der Methode '' | ||
+ | |||
+ | ++++ Lösungsvorschlag zur Methode "append" | | ||
Zeile 86: | Zeile 96: | ||
++++ | ++++ | ||
+ | ---- | ||
+ | |||
+ | < |