/* lqueue.h */ #ifndef __lqueue_h #define __lqueue_h typedef struct node_t { int value; struct node_t *next; struct node_t *prev; } Node; typedef struct queue_t { Node* head; Node* tail; } Queue; /* create and return an empty q */ Queue *qCreate(); /* destroys the q */ void qDestroy(Queue *qh); /* print all values in the q in the order in which they appear */ void qPrint(Queue *qh); /* create a new node with value=key and insert it in the q */ void qEnq(Queue *qh, int key); /* */ Node *qHead(Queue *qh); void qDelete(Queue *qh, Node *node); #endif