/** Hilfsklasse fuer Stackelemente, die in einer * linearen Liste verwaltet werden (von der * Klasse Stack). Der Inhalt jedes Stackelements * ist der Einfachheit halber nur ein String. */ class StackElement { String contents; StackElement next; } /** Stellt den Anker und die Operationen eines * Stacks zur Verfuegung. */ public class Stack { StackElement top; /** Fuegt ein neues Element als oberstest Element * in den Stack ein. */ public void push(String contents) { StackElement newStackElt = new StackElement(); newStackElt.contents = contents; newStackElt.next = top; top = newStackElt; } /** Gibt den Inhalt des obersten Elements des Stacks * aus und entfernt das oberste Element vom Stack. * Wenn der Stack bereits leer ist, wird null ausgegeben; * der Stack bleibt leer. */ public String pop() { if (top != null) { String contents = top.contents; top = top.next; return contents; } else { return null; } } /** Entfernt alle Elemente aus dem Stack. */ public void clear() { top = null; } }