Übungen zu BS - Dokumentation Aufgabe 7 (WS 2014/15)
Die Klasse Queue realisiert eine einfach verkettete Liste von Objekten mit next Zeiger. Mehr ...
#include <queue.h>
Öffentliche Methoden | |
Queue () | |
Der Konstruktor initialisiert die Liste als leere Liste. | |
void | enqueue (T *item) |
Das Listenelement item wird an das Ende der Liste angefügt. | |
T * | dequeue () |
Liefert das erste Element der Liste und entfernt es gleichzeitig aus dieser. | |
T * | remove (T *item, bool(*cmp)(T *, T *)=eqCmp) |
Mit dieser Methode kann das angegebene Element item aus der Liste entfernt werden, unabhängig von seiner Position dort. Verglichen werden die Pointer-Adressen, optional kann eine Vergleichsfunktion angegeben werden. | |
void | insert_first (T *item) |
Fügt das item am Anfang der Liste ein. | |
void | insert_after (T *old_item, T *new_item) |
Fügt das Element new_item hinter dem Element old_item in die Liste ein. | |
T * | first () |
Liefert das erste Element der Liste ohne es zu entfernen. |
Ausführliche Beschreibung
template<typename T>
class Queue< T >
Die Klasse Queue realisiert eine einfach verkettete Liste von Objekten mit next Zeiger.
Objekte die verkettet werden sollen erben von QueueEntry und geben ihren eigenen Typ als Template-Parameter an. Beispiel: class Foo : public QueueEntry<Foo> {}; Damit lassen sich Zeiger auf Instanzen von Foo z.B. in die Queue: Queue<Foo> myqueue; einfügen. Zur Implementierung: tail verweist nicht, wie oft üblich, auf das letzte Element der Liste, sondern auf den next Zeiger des letzten Elements, bzw., solange die Liste noch leer ist, auf den head Zeiger der Liste. Dadurch muss beim Einfügen eines Elements an die Liste nicht überprüft werden, ob bereits Elemente in ihr enthalten sind. Beim Entfernen von Elementen kann auf die Fallunterscheidung allerdings nicht verzichtet werden.
Beschreibung der Konstruktoren und Destruktoren
Der Konstruktor initialisiert die Liste als leere Liste.
Dokumentation der Elementfunktionen
|
inline |
Liefert das erste Element der Liste und entfernt es gleichzeitig aus dieser.
- Rückgabe
- entferntes Kopfelement oder 0 wenn die Liste leer ist.
|
inline |
Das Listenelement item wird an das Ende der Liste angefügt.
- Parameter
-
item Listenelement, welches angefügt werden soll.
|
inline |
Liefert das erste Element der Liste ohne es zu entfernen.
- Rückgabe
- Erstes Element der Liste.
|
inline |
Fügt das Element new_item hinter dem Element old_item in die Liste ein.
- Parameter
-
old_item Element, nach dem eingefügt werden soll. new_item Einzufügendes Element.
|
inline |
Fügt das item am Anfang der Liste ein.
- Parameter
-
item Einzufügendes Element.
|
inline |
Mit dieser Methode kann das angegebene Element item aus der Liste entfernt werden, unabhängig von seiner Position dort. Verglichen werden die Pointer-Adressen, optional kann eine Vergleichsfunktion angegeben werden.
- Parameter
-
item Element, welches entfernt werden soll. cmp Vergleichsfunktion.
- Rückgabe
- Gibt das entfernte Element zurück, 0 wenn keins entfernt wurde.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
- object/queue.h