Assigment 3_CircularQueue
Assigment 3_CircularQueue
template<class T>
class CircularQueue
int front,rear,size;
int *arr;
public:
CircularQueue(int s)
size=s;
front=rear=-1;
bool isEmpty();
bool isFull();
void enQueue(T);
int deQueue();
void display();
};
template<class T>
{
if(front==-1 && rear==-1)
return true;
else
return false;
template<class T>
if((rear+1)%size==front)
return true;
else
return false;
template<class T>
if(isEmpty())
rear=front=0;
arr[rear]=element;
else
{
rear=(rear+1)%size;
arr[rear]=element;
template<class T>
int item;
if(isEmpty())
return 0;
else if(front==rear)
item=arr[front];
arr[front]=0;
rear=front=-1;
return item;
else
item=arr[front];
front=(front+1)%size;
return item;
template<class T>
for(int i=front;i!=rear;i=((i+1)%size))
cout<<arr[i]<<" ";
cout<<arr[rear];
int main()
int n;
cin>>n;
CircularQueue <int>q1(n);
int option,value;
do {
cin>>option;
switch(option)
case 1:
if(q1.isFull())
else
cout<< "\nEnqueue operation --> Enter an item to enqueue to the queue : ";
cin>>value;
q1.enQueue(value);
break;
case 2:
break;
case 3:
q1.display();
cout<< "\n";
break;
case 4:
system("cls");
break;
case 5:
exit(0);
default:
}while(option != 5);
return 0;