Mega Code Archive

 
Categories / C++ / Data Structure
 

Your own Queue class

#include <iostream> using namespace std; #define SIZE 100 class QueueClass {   int queue[SIZE];    int head, tail;  public:   QueueClass();    void q(int num);    int deq();   }; 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 = queue1;   for(i=1; i <=10; i++)      cout << "Dequeue 1: " << queue1.deq() << endl;   for(i=1; i <=10; i++)      cout << "Dequeue 2: " << queue2.deq() << endl;   return 0; }