Kleines Nachschlagewerk Informatik
ADT Schlange
Worum geht es?
Wie der Stack hat die Schlange keinen wahlfreien Zugriff. man fügt Elemente hinzu, man entnimmt sie wieder. Wie bei einer Warteschlange entnimmt man die Elemente, die zuerst eingefügt wurden (die sich zuerst angestellt haben).
Interface (minimal)
Eigentlich braucht man nur zwei Methoden: Einfügen und Entfernen. Bei der Schlange werden diese traditionell enqueue und dequeue genannt.

Ein Lesen durch Kombination von Entfernen und Einfügen wie beim Stack ist hier nicht möglich.



Interface nach Vorgabe
Das minimale Interface ist nicht sehr komfortabel, zumal es bei Schlangen viel häufiger als beim Stack vorkommt, dass man fragen muss, ob etwas gespeichert wurde.

Das Ministerium erlaubt noch die Methoden isEmpty und head, wobei letzteres das erste Element abfragt. dequeue arbeitet dann wieder ohne Rückgabewert.



Anwendung
Anwendung finden Schlangen vor allem überall dort, wo Nachrichten verschickt werden. Das müssen nicht klassische Mails etc. sein, auch Programmteile können auf diese Weise kommunizieren.

Nachrichten, die zuerst angekommen sind, sollten auch zuerst bearbeitet werden. Ein Schlange bietet sich an (man spricht von einer Message-Queue).
Priority Queue
Eine Abwandlung der normalen Schlange ist eine Schlange mit Prioritäten. Jedes Element bekommt eine Priorität. Das kann eine normale Zahl sein. Je höher die Priorität, desto weiter vorn wird die Nachricht einsortiert. Dadurch werden wichtige Nachrichten einer MessageQueue zeitiger bearbeitet.

      schlange.enqueue(message, prioritaet)