38 && queue->
size > 0 && queue->
elem != NULL
61 queue->
size = size + 1;
97 fprintf(stderr,
"Queue overflow size=%d\n", queue->
size);
100 assert(queue->
used < queue->
size - 1);
121 if (queue->
used == 0)
144 return queue->
used == 0;
int queue_get(Queue *queue)
Holt das vordersten Element aus der Queue heraus.
void queue_free(Queue *queue)
Gibt eine Queue wieder frei.
void queue_put(Queue *queue, int element)
Hängt eine neues Element an das Ende der Queue an.
int first
Erstes Element der Queue, wird als nächstes gelesen.
int next
Letztes Element der Queue, hiernach kommen neue Elemente.
int used
Aktuelle Anzahl von Elementen in der Queue.
Queue * queue_new(int size)
Erzeugt eine neue Queue.
void deallocate(void *p)
Free allocated memory.
Queue oder FIFO (First In, First Out) Liste.
static bool queue_is_valid(const Queue *queue)
void * allocate(int elems, int size)
Allocate memory.
bool queue_is_empty(const Queue *queue)
Stellt fest, ob eine Queue leer ist.
int * elem
Der Vektor mit den Elementen.
int size
Maximale Anzahl von Elementen in der Queue.