import java.util.Scanner;
class CircularQueue
{
int f,r,CQ[],max;
CircularQueue(int cap)
{
max=cap;
f=-1;
r=-1;
CQ = new int[max];
}
void enqueue(int data)
{
if(f==-1 && r==-1) //condition when the queue is empty
{
f=f+1;
r=r+1;
CQ[r]=data;
}
else if((r+1)%max==f) //condition to check if the queue is full
{
System.out.println("Queue is full");
}
else
{
r=(r+1)%max;
CQ[r]=data;
}
}
void dequeue()
{
if(f==-1 && r==-1) //when the queue is empty
{
System.out.println("Queue is empty");
}
else if(f==r) //when only one element is left
{
System.out.println("The element removed is "+CQ[f]);
f=-1;
r=-1;
}
else
{
System.out.println("The element removed is "+CQ[f]);
f=(f+1)%max;
}
}
void display()
{
if(f==-1 && r==-1)
{
System.out.println("Queue is empty");
}
else
{
System.out.println("Element in the circular queue are: ");
for(int i=f;i<=r;i=(i+1)%max)
{
System.out.println(CQ[i]);
}
}
}
}
class CircularQueue
{
int f,r,CQ[],max;
CircularQueue(int cap)
{
max=cap;
f=-1;
r=-1;
CQ = new int[max];
}
void enqueue(int data)
{
if(f==-1 && r==-1) //condition when the queue is empty
{
f=f+1;
r=r+1;
CQ[r]=data;
}
else if((r+1)%max==f) //condition to check if the queue is full
{
System.out.println("Queue is full");
}
else
{
r=(r+1)%max;
CQ[r]=data;
}
}
void dequeue()
{
if(f==-1 && r==-1) //when the queue is empty
{
System.out.println("Queue is empty");
}
else if(f==r) //when only one element is left
{
System.out.println("The element removed is "+CQ[f]);
f=-1;
r=-1;
}
else
{
System.out.println("The element removed is "+CQ[f]);
f=(f+1)%max;
}
}
void display()
{
if(f==-1 && r==-1)
{
System.out.println("Queue is empty");
}
else
{
System.out.println("Element in the circular queue are: ");
for(int i=f;i<=r;i=(i+1)%max)
{
System.out.println(CQ[i]);
}
}
}
}
.jpg)