//queue.cpp //methods for class Queue implemented using nodes #include "queue.h" #include #include #include Queue::Queue() { front = rear = 0; } void Queue::insert(Type d) { Node *node = new Node(d); assert(node); if (!rear) front= node; else rear->setnext(node); rear = node; } Type Queue::remove() { assert(!isEmpty()); Node *node = front; Type d = front->getinfo(); front = front->getnext(); if (!front) rear = 0; delete node; return d; } int Queue::isEmpty() { assert ((front && rear) || (!front && !rear)); return (!front); } Queue::~Queue() { Node *np = front, *nq; while (np) { nq = np; np = np->getnext(); delete nq; } front = rear = 0; }