/*Program to impelement Circular queue operations
compiler- Turbo c++ author- Mangilal Sharma
--------------------------------------------------------*/
#include<iostream.h>
#include<conio.h>
#include<process.h>
#define MAX 5
class cqueue
{
int a[MAX],front,rear;
public :
void insert();
void deletion();
void display();
cqueue();
};
void cqueue :: insert()
{
int val;
if((front==0 && rear==MAX-1) || (rear+1==front))
cout<<" Circular Queue is Full";
else
{
if(rear==MAX-1)
rear=0;
else
rear++;
cout<<"Enter Element to Insert ";
cin>>val;
a[rear]=val;
}
if(front==-1)
front=0;
}
void cqueue :: deletion()
{
int k;
if(front==-1)
cout<<"Circular Queue is Empty";
else
{
k=a[front];
if(front==rear)
front=rear=-1;
else
{
if(front==MAX-1)
front=0;
else
front++;
}
cout<<"Deleted Element :"<<k<<endl;
}
}
void cqueue :: display()
{
int i;
if(front==-1)
cout<<"Circular Queue is Empty";
else
{
if(rear < front)
{
for(i=front;i<=MAX-1;i++)
cout<<a[i]<<" ";
for(i=0;i<=rear;i++)
cout<<a[i]<<" ";
}
else
{
for(i=front;i<=rear;i++)
cout<<a[i]<<" ";
cout<<endl;
}
}
}
cqueue::cqueue()
{
front=rear=-1;
int choice;
while(1)
{
cout<<"\n\t\t\t CIRCULAR QUEUE\n";
cout<<"\t\t1. To Insert an Element in circular Queue\n";
cout<<"\t\t2. To Delete an Element from circular Queue\n";
cout<<"\t\t3. To Display the Elements of circular Queue\n";
cout<<"\t\t4. To Main menu\n";
cout<<"\t\t5. To Exit from Programme\n";
cout<<"\n\t\t Enter Your Choice= ";
cin>>choice;
switch(choice)
{
case 1 :
insert();break;
case 2 :
deletion();break;
case 3 :
display();break;
case 4:
return;
case 5:
exit(1);
default:
cout<<"\n\t\tWrong Choice, Enter Again\n";
}
}
}
/*=========================7Nov.,2010=============================*/
.thank you for sharing useful post.
ReplyDeleteweb programming tutorial
welookups