Ringlisten

Unter einer Ringliste versteht man eine Liste, bei der jedes Element einen Zeiger auf das nachfolgende Element hat, und bei der das letzte Element wieder auf das erste verweist.

Der ADT Ringliste

Der Abstrakte Datentyp Ringliste wird durch folgende Operationen definiert:

Init(): Erzeugt eine leere Ringliste.

Insert(x): Fügt an der aktuellen Position ein neues Element in die Liste ein.

Delete(): Löscht das Element an der aktuellen Position.

Empty(): Liefert TRUE zurück, falls die Ringliste leer ist. Der Zustand der Ringliste wird dabei nicht verändert.

Get(): Liefert den Wert des aktuellen Elementes. Der Zustand der Ringliste wird dabei nicht verändert.

Next():Wählt das nächste Element als aktuelles Element.

Das Ganze noch einmal durch eine Zeichnung verdeutlicht:

"Hund" ist hier das aktuelle Element. Nach Ausführen von Next wäre "Aal" das aktuelle Element, nach Ausführen von Delete wäre "Hund" nicht mehr in der Liste vorhanden und aktuell würde auf "Aal" verweisen. Nach Ausführen von Insert("Katze") würde die Liste so aussehen:

Würde also zuerst die "Katze" eingefügt und dann wieder gelöscht, so würde der aktuell-Zeiger wieder auf "Hund" verweisen.

zurück zu Folge 18 - Vererbung

Diese HTML-Seite wurde erstellt von Ulrich Helmich am 16. April 2006