public class Stack { /** * erster Eintrag der Liste */ public Node first; /** * Konstruktor */ public Stack() {} /** * Überprüft, ob die Liste leer ist * * @return true, wenn keine Elemente in der Liste */ public boolean isEmpty() { return first == null; } /** * Fügt ein neues Element am Anfang der Liste ein */ public void push(T neu) { Node n = new Node(neu); // Neue Node mit Wert "neu" anlegen n.next = first; first = n; } /** * Löscht das Element an der ersten Stelle und gibt * dessen Wert zurück */ public T pop() { if (first == null) return null; T wert = first.wert; first = first.next; return wert; } /** * Gibt das Element an der ersten Stelle zurück, oder null */ public T top() { if (first == null) return null; return first.wert; } }