Queue(Data Structure) in C++


 

#include <iostream>

using namespace std;


//QUEUE

class Queue

{

  static const int SIZE = 5;

  int front,rear;

  public:

    int arr[SIZE];

    //constructor

Queue()

    {

      front = rear = -1;

    }

    

//-----> methods

//ENQUEUE

    void enQueue(int d)

    {

      if(rear == SIZE-1)//or (rear>=SIZE-1)

        cout<< "Queue is full. Can't add more elements than "<<SIZE-1<<endl;

      else

      {

        if (front == -1)

          front = 0;

        arr[++rear]=d;

      }

    }

//DEQUEUE

    int deQueue()

    {

      if(front==-1 || front>rear)//or (rear>=SIZE-1)

      {

  cout<<"Queue is empty\n";

return 0;

      }

      else

      {

        return arr[front++];

      }

    }

    

    //DISPLAY

    void display()

    {

      if(front == -1 || front>rear)//or (rear>=SIZE-1)

      {

  cout <<"Queue is empty\n";

        return ;

      }

      else

      {

        for(int i = front; i<=rear; i++)

        { 

cout<<arr[i]<<"\t"; 

}

cout<<endl;

      }

    }

};


//MAIN

int main()

{

  Queue q1;

  q1.enQueue(10);

  q1.enQueue(9);

  q1.enQueue(8);

  q1.enQueue(7);

  q1.enQueue(6);

  q1.enQueue(5);

  q1.display();

  q1.deQueue();

  q1.deQueue();

  q1.display();

  q1.deQueue();

  q1.deQueue();

  q1.deQueue();

  q1.deQueue();

  q1.display();


  return 0;

}

Comments