/** Diese Klasse implementiert die Kellerstruktur mit Hilfe von verketteten Listen. Die Kelleroperationen werden auf die entspechenden Listenoperationen delegiert. */ class CharStack { private CharList list; public CharStack () { list = new CharList(); } /** Diese Methode loescht den Inhalt des Kellers, d.h. sie macht den aktuellen Stack zum leeren Stack. */ public void clear () { list.clear(); } /** Diese Methode fuegt den Wert c vorne an den aktuellen Keller an. @param c Wert des einzufuegenden Elements */ public void push (char c) { list.addFirst(c); } /** Diese Methode entfernt das erste Element aus der aktuellen Liste. Vorbedingung: head != null */ public void pop () { list.rest(); } /** Diese Methode heisst peek in java.util.Stack Sie berechnet den Wert des ersten Elements des aktuellen Kellers. Vorbedingung: head != null */ public char top () { return list.getFirst(); } /** Diese Methode prueft, ob der aktuelle Keller leer ist. */ public boolean isEmpty () { return list.isEmpty(); } }