/**********************************************************************\ * Kurzbeschreibung: * queue.h - realisiert eine Queue (Warteschlange) als verkettete Liste * * Datum: Autor: * 30.9.2015 Prof. Dr. Helmut Herold * \**********************************************************************/ #ifndef QUEUE_H #define QUEUE_H /*--- #includes ------------------------------------------------------*/ #include // Für INT_MIN /*--- #defines -------------------------------------------------------*/ #define TRUE 1 #define FALSE 0 #define QLEER INT_MIN // Konstante, um "Queue ist leer" zu kennzeichnen /*--- Datentypen (typedef) -------------------------------------------*/ typedef int Bool; // Bool ist einfach nur ein int // Struktur für ein Queue-Element typedef struct Queue_Element { int wert; // Der gespeicherte Wert (die Zahl) struct Queue_Element* Element_next; // Zeiger auf das nächste Element struct Queue_Element* Element_prev; // Zeiger auf das vorherige Element } Queue_Elem; /*--- Prototypen globaler Funktionen ---------------------------------*/ /*--------------------------------------------------------------------*\ * Einfuegen in Liste * Parameter: * zahl fügt die übergebene Zahl 'zahl' am Ende der Liste ein * Return Wert: * TRUE wenn noch genug Speicherplatz vorhanden * FALSE wenn kein Speicherplatz mehr allokiert werden konnte * Hinweis: * - dynamische Verwaltung von Speicher muss mit malloc() und free() * durchgeführt werden; dynamische Arrays sind nicht erlaubt !!! *--------------------------------------------------------------------*/ Bool put(int zahl); /*--------------------------------------------------------------------*\ * Auslesen aus Liste * Parameter: * keine * Return Wert: * Zahl am Anfang der Liste oder aber QLEER, wenn Liste leer ist. *--------------------------------------------------------------------*/ int get(void); /*--------------------------------------------------------------------*\ * Pruefen der Liste * Parameter: * keine * Return Wert: * liefert TRUE, wenn Queue leer ist, sonst FALSE *--------------------------------------------------------------------*/ Bool isEmpty(void); #endif /*QUEUE_H*/