/** * Klasse IntSchlange. * * @author David Tepaße * @version 25.10.05 */ public class IntSchlange { class SchlangenElement{ private int wert; private SchlangenElement verbindung; /** * Konstruktor
* @param int e * @param Schlangenelement n */ public SchlangenElement (int e,SchlangenElement n){ wert=e; verbindung=n; } //Konstruktor public SchlangenElement(){ verbindung = null; } //gibt ein Element zurück } private SchlangenElement kopf = null; private SchlangenElement schwanz = null; /** Konstruktur * erzeugt Kopf und Schwanz der Schlange **/ public IntSchlange(){ kopf = new SchlangenElement(); schwanz = new SchlangenElement(); kopf = schwanz; } /** Gibt den Inhalt der Schlange aus */ public void showQueue() { SchlangenElement lauf; // Hilfselement lauf = kopf.verbindung; // setze Hilfselement auf erstess Schlangenelement while (lauf != null) { // Solange Ende noch nicht erreicht System.out.print(lauf.wert + " "); // gib aktuellen Schlangenwert aus lauf = lauf.verbindung; // geh zum nächsten Element } System.out.println(); // Zeilenvorschub } /** Fügt neues Element ans Ende der Liste ein */ public void enqueue(int element) { SchlangenElement neu = new SchlangenElement(element, null); // Neues Element erzeugen if (kopf != null) { // Sind schon Elemente drin schwanz.verbindung = neu; schwanz = neu; } else { schwanz = kopf = neu; // Erstes Element der Schlange } } /** Löscht das erste Element aus der Schlange */ public void dequeue(){ if(empty()==false) kopf.verbindung = kopf.verbindung.verbindung; } /** Prüft, ob Schlange leer */ public boolean empty(){ return kopf == schwanz; } /** Gibt das erste Element der Schlange aus */ public int top(){ return kopf.verbindung.wert; } /** gibt das erste Element aus und löscht es danach */ public int topandpop(){ int u; u = kopf.verbindung.wert; kopf.verbindung = kopf.verbindung.verbindung; return u; } }