#include "queue.h" #include struct Queuerep { void* data; Queue next; }; Queue createq(void) { return 0; } Queue enqueue(Queue q, void* elem) { Queue temp = malloc(sizeof(struct Queuerep)); temp->data = elem; if (q) { temp->next = q->next; q->next = temp; q = temp; } else { q = temp; q->next = temp; } return q; } void* frontq(Queue q) { return q->next->data; } Queue dequeue(Queue q) { Queue temp; if (q == q->next) { temp = q; q = 0; } else { temp = q->next; q->next = q->next->next; } free(temp); return q; } int emptyq(Queue q) { return q == 0; }