You are on page 1of 2

# include <iostream.

h>
# include <process.h>
# include <conio.h>
int display_menu();
class circularqueue
{
int arr[10];
int front,rear;
int size;
public:
circularqueue()
{
front=0;
rear=0;
size=10;
}
void display();
void enqueue();
void delete_element();
};
void circularqueue :: display()
{
cout<<endl;
if(front!=0 && rear!=0)
{
int i=front;
cout<<"arr["<<i<<"] :"<<arr[i]<<endl;
while(i!=rear)
{
i=(i % size)+1;
cout<<"arr["<<i<<"] :"<<arr[i]<<endl;
}
}
else
{
cout<<"Queue is empty"<<endl;
}
getch();
}
void circularqueue :: enqueue()
{
cout<<endl;
if(front==0 && rear==0)
{
cout<<"Enter Number to enqueue at Position arr["<<rear+1<<"] :";
cin>>arr[1];
rear=1;
front=1;
}
else
{
int next=(rear % size)+1;
if(next==front)
{
cout<<"Queue is Full ...";
getch();
}

else
{
cout<<"Enter Number to enqueue at Position arr["<<next<<"] :";
cin>>arr[next];
rear=next;
}
}
}
void circularqueue :: delete_element()
{
cout<<endl;
if(rear==0 && front==0)
{
cout<<"Queue is empty ...";
getch();
return;
}
if(rear==front)
{
rear=0;
front=0;
}
else
{
front=(front % size)+1;
}
}
void main()
{
circularqueue cq1;
while(1)
{
switch(display_menu())
{
case 1: cq1.enqueue();
break;
case 2: cq1.delete_element();
break;
case 3: cq1.display();
break;
case 4: exit(1);
}
}
}
int display_menu()
{
int c;
clrscr();
cout<<endl;
cout<<"| 1 | : Enqueue element"<<endl;
cout<<"| 2 | : Delete element"<<endl;
cout<<"| 3 | : Display"<<endl;
cout<<"| 4 | : Exit"<<endl;
cout<<"Enter your Choice :";
cin>>c;
return c;
}

You might also like