Queue Using Array In Data Structure Using C++

Data Structure Using C++

Queue Data Structure

Queue Using Array

class queue
{
 private:
 int front;
 int rear;
 int size;
 int noElements;
 int *arr;
 public:
 queue(int s);
 void enqueue (int x);
 int dequeue ();
 bool isEmpty();
 bool isFull ();
 int getFront();
};
queue::queue(int s)
{
 size=s;
 arr=new int[size];
 rear=-1;
 noElements=0;
 front=0;
}
void queue::enqueue(int x)
{
 if(!isFull())
 {
  rear=(rear+1)%size;
  arr[rear]=x;
  noElements++;
 }
 else
 {
  cout<<"Queue is full."<<endl;
 }
}
int queue::dequeue()
{
 if(!isEmpty())
 {
  int x;
  x=arr[front];
  front=(front+1)%size;
  noElements--;
  return x;
 }
 else
 {
  cout<<"Queue is empty."<<endl;
 }
}
bool queue::isEmpty()
{
 if(noElements==0)
 {
  return true;
 }
 else
 {
  return false;
 }
}
bool queue::isFull()
{
 if(noElements==size)
 {
  return true;
 }
 else
 {
  return false;
 }
}
int queue::getFront()
{
 return arr[front];
}
int main ()
{
 queue q(3);
 q.dequeue();
 q.enqueue(1);
 q.enqueue(3);
 q.enqueue(4);
 cout<<"Front element is:"<<q.getFront()<<endl;
}


Let me know in the comment section if you have any question.

Previous Post:
Stack Template in Data Structure Using C++

Comments