Mega Code Archive

 
Categories / C++ / Data Structure
 

Define our own Queue class

#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:   QueueClass();              // constructor   void q(int num);           // store   int deq();                 // retrieve }; QueueClass::QueueClass() {   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;   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; }