28.7 Was ist ein Keller? |
|
eine besondere Liste | Stellen
wir uns vor, wir würden eine LIFO-Liste in ihren Eigenschaften
einschränken und nicht mehr zulassen, dass sie über eine Methode verfügt,
mit der man sie ausgeben kann. Wir kennen nur da zuletzt eingegeben Element,
können weitere Elemente hinzufügen aber auch das zuletzt eingegebene Element
wieder entfernen und schließlich können wir fragen, ob die Liste leer ist.
Eine solche Liste nennen wir einen Keller. Andere Namen für den Keller sind Stack (engl.) oder Stapel. Dabei erzeugt das Wort Stapel in uns eine
Vorstellung, die dem ziemlich nahe kommt, was wir in der Informatik einen
Stapel also Keller nennen.
Dazu stellen wir uns auf einem
Schreibtisch einen Stapel von Blättern vor, auf denen etwas geschrieben
steht. Wir können nur das lesen, was auf dem Papier geschrieben steht, das
zu oberst liegt. Wir können es entfernen, es verschwindet dann auf
Nimmerwiedersehen im Papierkorb und wir können neue Blätter auf den Stapel
legen. Dass dieser Stapel dem LIFO-Prinzip gehorcht ist offensichtlich.
Schließlich können wir erkennen, ob sich auf dem Schreibtisch ein Stapel
befindet (er ist nicht leer) oder ob sich kein Papierstapel auf dem
Schreibtisch befindet (er ist leer) |
Methoden eines Kellers | Was man
mit einem Stapel alles machen kann, seine Funktionalität also, wird bei
einem Keller durch bestimmte Methoden realisiert. |
isEmpty() | Die Methode isEmpty() liefert true, fall der Keller leer ist, also kein Element enthält und liefert false, falls er nicht leer ist, also bereits Elemente eingekellert sind. |
push(Element) | Mit der Methode push(...) lassen sich Elemente einkellern, also auf den Stapel legen. |
top() | Die Methode top() gibt den Wert des zu oberst auf dem Stapel liegenden Elements aus. |
pop() | Die Methode pop() schließlich entfernt das zu oberst liegende Element aus dem Keller. |
weitere Methoden sind in einem Keller nicht erlaubt. Die Frage, wie man trotzdem einen Keller ausgeben kann, ohne dass man seinen Inhalt verliert, ist Gegenstand der Hausaufgabe. | |
Keller zum 'Spielen' |
In die obere Zeile gibt man die Elemente ein, die man einkellern möchte. Die Kommentare werden im unteren Ausgabefeld angezeigt. 'Einkellern' kann man alles, was man tippen kann. Geben Sie z.B. eine Reihe von Elementen in den Keller ein. Was stellen Sie fest, wenn Sie im Wechsel top und pop ausführen bis der Keller leer ist. |
zu | 28.8 Der Keller implementiert n Java |
zur Startseite | www.pohlig.de (C) MPohlig 2004 |