Mega Code Archive

 
Categories / C++ / Data Structure
 

Define a queue

#include <iostream> using namespace std; #define SIZE 100 class QueueClass {   int queue[SIZE];            // holds the queue   int head, tail;             // indices of head and tail public:   void init();                // initialize   void q(int num);            // store   int deq();                  // retrieve }; void QueueClass::init() {   head = tail = 0; } void QueueClass::q(int num) {   if(tail+1==head || (tail+1==SIZE && !head)) {     cout << "Queue is full\n";     return;   }   tail++;   if(tail == SIZE)       tail = 0; // cycle around   queue[tail] = num; } int QueueClass::deq() {   if(head == tail) {     cout << "Queue is empty\n";     return 0;  // or some other error indicator   }   head++;   if(head==SIZE) head = 0; // cycle around   return queue[head]; } int main() {   QueueClass queue1, queue2;   int i;   queue1.init();   queue2.init();   for(i=1; i <=10; i++) {     queue1.q(i);     queue2.q(i*i);   }   for(i=1; i <=10; i++) {     cout << "Dequeue 1: " << queue1.deq() << endl;     cout << "Dequeue 2: " << queue2.deq() << endl;   }   return 0; }