faecher:informatik:oberstufe:adt:stack:linkedstack: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:stack:linkedstack:start [06.10.2021 18:59] – [push - Element auf den Stapel legen] sbelfaecher:informatik:oberstufe:adt:stack:linkedstack:start [04.12.2023 15:17] (aktuell) – [Kickoff] Marco Kuemmel
Zeile 3: Zeile 3:
 Einen Stapel kann man folgendermaßen modellieren: Einen Stapel kann man folgendermaßen modellieren:
  
-{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:klassendiagramm.png |}}+{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:klassendiagramm.png?550 |}}
  
-Das sieht also ganz ähnlich aus, wie bei der verketteten Liste. Auch der Stapel/Stack arbeitet mit einer Struktur von Knoten, die "aufeinander zeigen", er kann also wie die Liste beliebig viele Objekte verwalten. Der STapel muss sich jedoch in seinem Attribut ''head'' nur eine Referenz merken - die auf den **obersten Knoten** des Stapels. Alle Operationen des Stacks finden immer auf diesem obersten Knoten statt:+Das sieht also ganz ähnlich aus, wie bei der verketteten Liste. Auch der Stapel/Stack arbeitet mit einer Struktur von Knoten, die "aufeinander zeigen", er kann also wie die Liste beliebig viele Objekte verwalten. Der Stapel muss sich jedoch in seinem Attribut ''head'' nur eine Referenz merken - die auf den **obersten Knoten** des Stapels. Alle Operationen des Stacks finden immer auf diesem obersten Knoten statt:
  
-{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:stack03.png?450 |}}+{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:stack03.png?550 |}}
  
 ===== Implementation ===== ===== Implementation =====
Zeile 26: Zeile 26:
 === (A1) Konstruktor und Attribute === === (A1) Konstruktor und Attribute ===
  
-Erweitere die Klasse so, dass es sinnvoll möglich ist, eine neues Stack Objekt zu erzeugen.  +Erweitere die Klasse so, dass es sinnvoll möglich ist, ein neues Stack Objekt zu erzeugen.  
 ==== push - Element auf den Stapel legen ==== ==== push - Element auf den Stapel legen ====
  
 Das folgende Schaubild veranschaulicht den Vorgang, wenn ein neues Element auf den Stapel gelegt werden soll. Das folgende Schaubild veranschaulicht den Vorgang, wenn ein neues Element auf den Stapel gelegt werden soll.
  
-{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:push.png?460 |}}+{{ :faecher:informatik:oberstufe:adt:stack:linkedstack:push.png?600 |}}
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 49: Zeile 49:
  
 Implementiere und teste die Pop-Methode. Implementiere und teste die Pop-Methode.
 +
 +{{:aufgabe.png?nolink  |}}
 +=== (A5) Vervollständigen ===
 +Vervollständige und teste die fehlenden Methoden.
 +
 +==== Refaktorisieren: Private Knotenattribute ====
 +{{:aufgabe.png?nolink  |}}
 +=== (A6) Vervollständigen ===
 +Passe deinen Stack und die Knoten-Klasse so an, dass die Knotenattribute "private" sind. Welche Methoden benötigst du dann in der Klasse ''Node''? Wie wirkt sich das auf deinen übrigen Code in der Klasse LinkedList aus?
 +
 +<btn>[[..:zuerueck:start|<<< Zurück zur Rückgängig-Funktion ]]</btn>
 +
 ===== Material ===== ===== Material =====
  
 {{simplefilelist>.:*}} {{simplefilelist>.:*}}
  • faecher/informatik/oberstufe/adt/stack/linkedstack/start.1633546771.txt.gz
  • Zuletzt geändert: 06.10.2021 18:59
  • von sbel