faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

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] sbelfaecher: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 ======
  
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (A3) Die Methode "append" === 
  
 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, eine Veranschaulichung findet sich im Diagramm unten. Wenn die Liste Leer ist, ist der Vorgang schnell beschrieben, eine Veranschaulichung findet sich im Diagramm unten.
Zeile 18: Zeile 16:
 {{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append_empty.drawio.png?500  |}} {{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append_empty.drawio.png?500  |}}
  
-**(A)** Implementiere in der Methode ''append'' den Teil des Codes, der an eine leere Liste einen neuen Knoten anhängt. Die Methode ''isEmpty()'' ist hilfreich. Teste deine Methode von Hand, indem du eine Liste für Integer Zahlen erzeugst und einen Knoten in die leere Liste einfügst.+{{:aufgabe.png?nolink  |}} 
 +=== (A1"append" für die leere Liste === 
 + 
 +  * Implementiere in der Methode ''append'' den Teil des Codes, der an eine **leere** Liste einen neuen Knoten anhängt. Die Methode ''isEmpty()'' ist hilfreich.  
 +  * 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 ''isEmpty()'' auch bei einer nicht leeren Liste einen korrekten Rückgabewert liefert.
  
-----  +==== 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:
 {{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append.drawio.png?700 |}} {{ :faecher:informatik:oberstufe:adt:verkettete_liste:liste_java:append.drawio.png?700 |}}
  
-**(B)** Schreibe als Merksatz stichwortartig nieder, was beim Anhängen eines neuen Knotens alles passieren muss. 
  
-**Bewegen in der Liste**+{{:aufgabe.png?nolink  |}} 
 +=== (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
 </code>|<code java> </code>|<code java>
 // Knotenzeiger erzeugen, auf first setzen // Knotenzeiger erzeugen, auf first setzen
Zeile 50: Zeile 56:
     n = n.getNext();     n = n.getNext();
 } }
-// Jetzt zeigt current auf den letzten Knoten.</code>|+// Jetzt zeigt auf den letzten Knoten.</code>|
  
-**(C)** Implementiere den zweiten Fall der Methode ''append'' entsprechend deiner Vorüberlegungen. Teste deine Methode von Hand, indem du eine Liste für Integer Zahlen erzeugst und 3 Knoten mit aufsteigenden Werten einfügst. Wenn du das Listenobjekt inspizierst, solltest du deine Werte in der korrekten Reihenfolge vorfinden. 
  
-++++ Lösungsvorschlag zur Methode "anhaengen" |+{{:aufgabe.png?nolink  |}} 
 +=== (A3) "append" für die nicht leere Liste === 
 + 
 +Implementiere den zweiten Fall der Methode ''append'' entsprechend deiner Vorüberlegungen. Teste deine Methode von Hand, indem du eine Liste für Integer Zahlen erzeugst und 3 Knoten mit aufsteigenden Werten einfügst. Wenn du das Listenobjekt inspizierst, solltest du deine Werte in der korrekten Reihenfolge vorfinden. 
 + 
 +++++ Lösungsvorschlag zur Methode "append" |
  
  
Zeile 86: Zeile 96:
 ++++ ++++
  
 +----
 +
 +<btn>[[..:liste_java:start|<<< Zurück zur Übersicht: Liste in Java ]]</btn> **oder** <btn>[[..:liste_java:lengthvalue|Weiter zur Länge und Wert auslesen >>> ]]</btn>
  • faecher/informatik/oberstufe/adt/verkettete_liste/liste_java/append.1634742891.txt.gz
  • Zuletzt geändert: 20.10.2021 15:14
  • von sbel