#ifndef QUEUE_H #define QUEUE_H #include typedef struct _queue_node { int data; struct _queue_node *next; } QueueNode; typedef struct { QueueNode *front; QueueNode *rear; } Queue; Queue *queue_create(void); void queue_destroy(Queue *q); bool queue_enqueue(Queue *q, int data); bool queue_dequeue(Queue *q, int *data); bool queue_front(Queue *q, int *data); bool queue_is_empty(Queue *q); int queue_size(Queue *q); void queue_print(Queue *q); #endif