faecher:informatik:oberstufe:adt:queue:enqueue:start

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:queue:enqueue:start [11.10.2021 18:18] – [Fall a) Die Schlange ist leer] Mareike Nutzfaecher:informatik:oberstufe:adt:queue:enqueue:start [11.10.2021 18:43] (aktuell) – [Fall b) Die Schlange ist nicht leer] Mareike Nutz
Zeile 11: Zeile 11:
  
 {{ :faecher:informatik:oberstufe:adt:queue:enqueue:qempty.drawio.png |}} {{ :faecher:informatik:oberstufe:adt:queue:enqueue:qempty.drawio.png |}}
 +
 +---- 
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 18: Zeile 20:
  
 Implementiere dann die Methode ''isEmpty'' und teste sie mit einer leeren Schlange. Implementiere dann die Methode ''isEmpty'' und teste sie mit einer leeren Schlange.
 +----
  
 Um nun ein Element in die Schlange einzufügen geht man wie folgt vor:  Um nun ein Element in die Schlange einzufügen geht man wie folgt vor: 
Zeile 26: Zeile 29:
  
 {{ :faecher:informatik:oberstufe:adt:queue:enqueue:qfirst.drawio.png |}} {{ :faecher:informatik:oberstufe:adt:queue:enqueue:qfirst.drawio.png |}}
 +---- 
 +
 +{{:aufgabe.png?nolink  |}}
 +=== (A2) enqueue für den Fall a) ===
 +
 +Füge in der ''enqeue''-Methode folgende Funktionalität ein: 
 +
 +  * Prüfe, ob die Schlange leer ist - wenn ja:
 +    * Erzeuge einen neuen Knoten mit passenden Parametern
 +    * Setze ''head'' und ''tail'' der Schlange passend
 +
 +Teste deine Methode und überprüfe die Funktionalität mit dem BlueJ-Inspektor.
 +----
 +
 +===== Fall b) Die Schlange ist nicht leer =====
 +
 +Um ein Element an eine nicht leere Schlange anzuhängen geht man folgendermaßen vor:
 +
 +  * Zuerst wird wieder ein neuer Knoten erzeugt. Dieser besteht aus dem Inhaltsobjekt und dem Zeiger auf den nächsten Knoten, dieser wird bei der Instanziierung des Knotenobjekts auf ''null'' gesetzt.
 +  * Dann wird ''next'' des Knotens, auf den ''tail'' zeigt auf den neuen Knoten gesetzt.
 +  * Zum Schluss muss ''tail'' ebenfalls auf den neuen Knoten zeigen und entsprechend gesetzt werden.
 +
 +Das folgende Bild veranschaulicht die Situation: schwarz gestrichelt vor dem anhängen des neuen Knotens, grün danach:
 +
 +{{ :faecher:informatik:oberstufe:adt:queue:enqueue:enqu2.drawio.png |}}
 +
 +----
 +
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) enqueue für den Fall b) ===
 +
 +Füge in der ''enqeue''-Methode im else-Zweig der Abfrage, ob die Schlange leer ist die folgende Funktionalität ein: 
 +
 +  * Erzeuge einen neuen Knoten mit passenden Parametern
 +  * Setze ''next'' des bislang letzten Knotens sowie ''tail'' der Schlange passend
  
 +Teste deine Methode und überprüfe die Funktionalität mit dem BlueJ-Inspektor. Du solltest nun beliebig Elemente an deine Schlange anhängen können. Überprüfe, ob ''head'' und ''tail'' der Schlange immer passend gesetzt sind. Bewege dich von Knoten zu Knoten durch die Schlange
 +----
  • faecher/informatik/oberstufe/adt/queue/enqueue/start.1633976282.txt.gz
  • Zuletzt geändert: 11.10.2021 18:18
  • von Mareike Nutz