public class Queue { /** * erster Eintrag der Liste */ public Node first; /** * letzter Eintrag der Liste */ public Node last; /** * Konstruktor */ public Queue() {} /** * Ü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 Ende der Liste ein */ public void enqueue(T neu) { Node n = new Node(neu); // Neue Node mit Wert "neu" anlegen // Überprüfe, ob Liste leer if (first == null) { // setze neue Node als ersten Eintrag first = n; last = n; } else { last.next = n; last = n; } } /** * Löscht das Element an der ersten Stelle und gibt * dessen Wert zurück */ public T dequeue() { 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 front() { if (first == null) return null; return first.wert; } }