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'

Ihr Browser unterstützt keine java-Applets. 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