Begleitmaterial Abitur 2024

Stack Lösung von Tim und Sarah

Implementationsdiagramm

Quellcode der Klasse "ZATrhekegmu"


public class ZATrhekegmu
{
    private int[] zahlenfolge = new int[10];

    private ZAQueue<Integer> queue = new ZAQueue<Integer>();
    private ZAStack<Integer> stack = new ZAStack<Integer>();

    /**
     * Konstruktor für Objekte der Klasse ZATrhekegmu.
     * Der Konstruktor leert die Queue und befüllt ein Array mit Zahlen,
     * welche später in die Queue geführt wird.
     */
    public ZATrhekegmu()
    {
        queueLeeren();
        
        for(int i = 0; i < zahlenfolge.length; i++){
            zahlenfolge[i] = i; 
        }
    }

    /**
     * Die Queue wird befüllt mit den Zahlen aus dem Array "zahlenfolge".
     */
    public void queueBefuellen()
    {
        for(int i = 0; i < zahlenfolge.length; i++){
            queue.enqueue(zahlenfolge[i]);
        }
    }

    /**
     * Die Queue wird geleert.
     */
    public void queueLeeren()
    {
        while(queue.front() != null){
            queue.dequeue();
        }
    }

    /**
     * Die in der Queue gespeicherte Zahlenfolge wird umgekehrt in ein Stack übertragen und wird dann in der Konsole ausgegeben.
     * Die Zahlenfolge ist umgekehrt.
     */
    public void ausgabeZahlenfolge()
    {
        queueLeeren();
        queueBefuellen();

        while(queue.front() != null){
            stack.push(queue.front());
            queue.dequeue();
        }

        while(stack.top() != null){
            System.out.print(stack.top() + ", ");
            stack.pop();
        }
    }
}