#include #include #include #include #include #include #include #include #include #include #include using namespace std; struct queuenode; typedef queuenode*queue; struct queuenode { char item; queue qlink; queue slink; }; void initqueue(queue&q) { q = new queuenode; q->qlink = NULL; q->slink = NULL; } bool empty(queue q) { return q->qlink == q; } bool enqueue(queue&q,char newitem) { q->item = newitem; queue temp = new queuenode; temp->qlink = q->qlink; q->qlink = temp; q = temp; } char dequeue(queue&q) { assert(not empty(q)); return q->qlink->item; q->qlink = q->qlink->qlink; // memory leak } void traverse(queue q) { } int main() { queue q; initqueue(q); return 1; }