InfoHome | Themen | Projekte | Links | Software |
|
ADT SchlangeEin Keller ermöglicht direkten Zugriff auf das jeweils zuletzt gespeicherte Element. Für manche Anwendungen ist es praktischer, direkten Zugriff auf das zuerst gespeicherte Element zu haben (FIFO = first in / first out - Speicher). Ein linearer abstrakter Datentyp, der dies leistet, heißt Schlange (engl. queue). Während man sich einen Keller als eine vertikal angeordnete Speicherkette vorstellt (Elemente werden übereinander gespeichert), hilft bei einer Schlange die Vorstellung von einer horizontalen Anordnung der Elemente (Elemente werden hintereinander gespeichert). In einer Schlange stellt man sich hinten an, und wird vorne bedient.
public interface Schlange {
Das ADT Schlange soll hier auf Grundlage des ZeigerKellers implementiert werden. Den Anfang der Schlange merkt man sich in der globalen Klassenvariable head (entspricht top beim Keller). Die Methoden deq (von engl. dequeue - aus einer Warteschlange entfernen), front und empty wirken auf den Anfang der Schlange und entsprechen somit den ZeigerKeller-Operationen pop, top und empty. Die Operation enq (von engl. enqueue - einreihen) wirkt auf das (hintere) Ende der Schlange und muss neu formliert werden. Damit man zum Einfügen eines Elementes nicht jedes Mal die gesamte Speicherkette von vorne nach hinten durchgehen muss, ist es sinnvoll, sich in einer weiteren Klassenvariable tail (engl. Schwanz) ihr hinteres Ende zu merken.
public class ZeigerSchlange implements Schlange {
Anmerkung zum Einfügen:Hier müssen zwei Fälle unterschieden werden:
|
© 2004-2024 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück |