Queue oder FIFO (First In, First Out) Liste.
More...
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "allocate.h"
#include "queue.h"
Go to the source code of this file.
|
struct | queue |
| Queue oder FIFO (First In, First Out) Liste. More...
|
|
- Author
- Thorsten Koch
- Id:
- queue.c,v 1.2 2004/05/13 12:12:43 bzfkocht Exp
Das Erzeugen einer neuen Queue geschieht mittels queue_new(), das Auflösen mit queue_free(). Die Operationen queue_get(), queue_put() und queue_is_empty() haben eine Laufzeitkomplexität von O(1).
Definition in file queue.c.
void queue_free |
( |
Queue * |
queue | ) |
|
- Parameters
-
queue | Zeiger auf eine Queue |
Definition at line 77 of file queue.c.
void deallocate(void *p)
Free allocated memory.
static bool queue_is_valid(const Queue *queue)
int * elem
Der Vektor mit den Elementen.
int queue_get |
( |
Queue * |
queue | ) |
|
- Parameters
-
queue | Zeiger auf eine Queue |
- Returns
- Vorderstes Element
Definition at line 115 of file queue.c.
121 if (queue->
used == 0)
int first
Erstes Element der Queue, wird als nächstes gelesen.
int used
Aktuelle Anzahl von Elementen in der Queue.
static bool queue_is_valid(const Queue *queue)
int * elem
Der Vektor mit den Elementen.
int size
Maximale Anzahl von Elementen in der Queue.
bool queue_is_empty |
( |
const Queue * |
queue | ) |
|
- Parameters
-
queue | Zeiger auf eine Queue |
- Return values
-
true | wenn sich kein Element in der Queue befindet |
false | sonst |
Definition at line 140 of file queue.c.
144 return queue->
used == 0;
int used
Aktuelle Anzahl von Elementen in der Queue.
static bool queue_is_valid(const Queue *queue)
static bool queue_is_valid |
( |
const Queue * |
queue | ) |
|
|
static |
Definition at line 35 of file queue.c.
38 && queue->
size > 0 && queue->
elem != NULL
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.
int * elem
Der Vektor mit den Elementen.
int size
Maximale Anzahl von Elementen in der Queue.
Queue* queue_new |
( |
int |
size | ) |
|
- Parameters
-
size | Maximale Anzahl von Elementen |
- Returns
- Zeiger auf die neue Queue
Definition at line 53 of file queue.c.
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 oder FIFO (First In, First Out) Liste.
static bool queue_is_valid(const Queue *queue)
void * allocate(int elems, int size)
Allocate memory.
int * elem
Der Vektor mit den Elementen.
int size
Maximale Anzahl von Elementen in der Queue.
void queue_put |
( |
Queue * |
queue, |
|
|
int |
element |
|
) |
| |
- Parameters
-
queue | Zeiger auf eine Queue |
element | Das neue Element |
Definition at line 91 of file queue.c.
97 fprintf(stderr,
"Queue overflow size=%d\n", queue->
size);
100 assert(queue->
used < queue->
size - 1);
int next
Letztes Element der Queue, hiernach kommen neue Elemente.
int used
Aktuelle Anzahl von Elementen in der Queue.
static bool queue_is_valid(const Queue *queue)
int * elem
Der Vektor mit den Elementen.
int size
Maximale Anzahl von Elementen in der Queue.