/************************************************************************************** *************************************************************************************** Übungsblatt 8, Aufgabe 4 Gruppe: Madlen Frieseke, Carsten Kötter, Erik Streb *************************************************************************************** **************************************************************************************/ public class Doppelstack { // der SUPER-DUPER Stack public DStack derStack; // Definition der beiden Einzelwerte für die jeweiligen Elemente des Doppelstacks public class RotBlau { public int rot; public int blau; } // Definition des supertollen Doppelstacks public class DStack { public RotBlau Element[] = new RotBlau[1000]; // habs mal auf 1000 Elemente begrenzt public int groesse=0; // Initialisierungswert } // gibt zurück, ob der Stack leer ist public boolean isEmpty() { if(derStack.groesse==0) return true; else return false; } // gibt die Größe des Stacks zurück public int size() { return derStack.groesse; } // gibt das oberste Element zurück public RotBlau top() { return derStack.Element[derStack.groesse]; } // nimmt das oberste Element weg und gibt dieses als Funktionswert zurück public RotBlau pop() { RotBlau zwischenspeicher = new RotBlau(); zwischenspeicher.rot=0; zwischenspeicher.blau=0; if(!isEmpty()) { zwischenspeicher=derStack.Element[derStack.groesse]; derStack.groesse--; } else System.out.println("Der Stack ist leer!"); return zwischenspeicher; } // legt ein neues Element oben auf den Stack public void push(RotBlau eingabe) { if(size()<1000) { derStack.Element[++derStack.groesse].rot=eingabe.rot; // hier wird gleichzeitig auch die groesse erhöht derStack.Element[derStack.groesse].blau=eingabe.blau; } else System.out.println("Der Stack kann maximal 1000 Elemente enthalten. Tut mir Leid."); } /* nun, hier könnte man jetzt noch eine graphische Oberfläche mit Ein- und Ausgabe implementieren...wenn man Zeit übrig hätte */ public static void main (String[] args) { Doppelstack test = new Doppelstack(); } }