Implementation of Dequeue(Double ended queue) in Java
class dequeue
{
//double ended queue
int DQ[],f=-1,r=-1,size;
dequeue(int size)
{
this.size=size;
DQ = new DQ[size];
}
void addFront(int data)
{
if(f==-1 && r==-1)
{
f=0;r=0;
}
else if(f==0)
{
System.out.println("Queue overflow");
}
else{
f=f-1;
}
DQ[f]=data;
}
void deleteFront()
{
if(f==-1 && r==-1)
{
System.out.println("Queue underflow");
}
int v=DQ[f];
System.out.println("Removed:"+v);
f=f+1;
}
void addRear(int data)
{
if(f==-1 && rear==-1)
{
f=0;
r=0;
}
else if(rear==(size-1))
{
System.out.println("Queue Overflow");
}
else
{
r=r+1;
}
DQ[r]=data;
}
void removeRear()
{
if(f==-1 && r==-1)
{
System.out.println("Queue is underflow");
}
if(f==r)
{
System.out.println("Removed element is:"+DQ[r]);
f=-1;
r=-1;
}
else
{
System.out.println("Removed element is:"+DQ[r]);
r=r-1;
}
}
void display()
{
if(f==-1 && r==-1)
System.out.println("Queue Underflow");
else
{
System.out.println("Elements are");
for(int i=f;i<=r;i++)
{
System.out.println(DQ[i]);
}
}
}