Queue implementation using arrays


 

#include<iostream.h>

#include<stdlib.h>

 

 

const int maxsize=100;

 

class queue

{

private:

 

      int front;

      int rear;

      int   count;

      int qlist[maxsize];

 

 

public:

     

            queue();

            Enqueue(int x);

      int Dequeue();

 

            bool Isempty();

 

 

};

 

 

 

queue::queue()

{

      front=0;

      rear=0;

      count=0;

}

 

 

 

queue::Enqueue(int x)

{

      if(count==maxsize)

      {

            cout<<"QUEUE IS FULL"<<endl;

            exit(1);

      }

 

 

      qlist[rear]=x;

      count++;

      rear=(rear+1)%maxsize;

}

 

int queue::Dequeue()

{

 

      if(count==0)

      {

            cout<<"DELETING AN EMPTY QUEUE"<<endl;

            exit(1);

      }

 

      int temp;

      temp=qlist[front];

      count--;

      front=(front+1)%maxsize;

      return temp;

}

 

bool queue::Isempty()

{

      return count==0;

}

 

//******************************************************************

 

queue q;

 

 

int main()

{

      //cout<<"1.insert"<<endl;

//    cout<<"2.remove"<<endl;

int choice;

 

//cin>>choice;

 

      while(choice!=0)

      {

 

      cout<<"----------------------------------------------"<<endl;                

cout<<"1.insert"<<endl;

cout<<"2.remove"<<endl;

//int choice;

 

cin>>choice;

 

      switch(choice)

      {

case 1:                 cout<<"enter data"<<endl;          

                        int y;

                        cin>>y;

                        q.Enqueue(y);

                        break;

 

case 2:                

                        int z;

 

                        z=q.Dequeue();

                  cout<<z<<endl;

                        break;

 

 

case 0: break;

 

      }

                        }

 

 

return 0;

 

 

}