#include<iostream>
using namespace std;
static const int SIZE=5;
//CIRCULAR QUEUE
class CircularQueue{
int front;
int rear;
int arr[SIZE];
public:
CircularQueue(){
front=rear=-1;
}
//enqueue
void enQueue(int d)
{
if(front==0 && rear==SIZE-1)
{
cout<<"Queue is full\n";
return;
}
if(front==-1)
{
front=rear=0;
}
else
{
if(rear==SIZE-1){
rear=0;
}
else
{
rear=rear+1;
}
}
arr[rear]=d;
}
//dequeue
int deQueue(){
if(front==-1)
{
cout<<"Queue is empty\n";
return 0;
}
int d =arr[rear];
if(front==rear){
front=rear=-1;
}
else
{
if(front==SIZE-1)
{
front=0;
}
else
{
front++;
}
}
return d;
}
//display
void display(){
if(front==-1){
cout<<"list is empty\n";
}
if(front>-1 && rear<=SIZE-1){
for(int i=front; i<=rear; i++){
cout<<arr[i]<<"\t";
}
}
if(rear<front){
for(int i=front; i<=SIZE-1;i++){
cout<<arr[i]<<"\t";
}
for(int j=0;j<=rear;j++)
cout<<arr[j]<<"\t";
}
}
};
//MAIN
int main(){
CircularQueue queue;
queue.enQueue(10);
queue.enQueue(15);
queue.enQueue(20);
queue.enQueue(25);
queue.enQueue(30);
queue.enQueue(35);
queue.display();
cout<<endl;
queue.deQueue();
queue.deQueue();
queue.enQueue(35);
queue.display();
}
Comments
Post a Comment