Skip to main content

Program in Java to implement circular queue

 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]);
            }
        }
    }
}


Popular posts from this blog