Thursday 27 September 2012

Program of Circular Queue using c++

//PROGRAM FOR CIRCULAR QUEUE

#include<iostream.h>
#include<conio.h>
#include<process.h>
#define MAX 10
void main()
{
clrscr();
char ch;
int front=-1,rear=-1,temp,n,q[MAX],i,num;
do
{
cout<<"1.to insert value in queue";
cout<<"\n2.to delete value from queue";
cout<<"\n3.to traverse elements of queue";
cout<<"\n4.exit";
cout<<"\nenter your choice...";
cin>>n;
switch(n)
{
case 1:
{
cout<<"\n enter number you want to insert";
cin>>num;
if(front==-1)
{
front=rear=0;
q[rear]=num;
}
else if((front==0)&&(rear==MAX)||(front==rear+1))
{
cout<<"\nqueue is full or overflow";
break;
}
else if((rear==MAX)&&(front!=0))
{
rear=0;
q[rear]=num;
}
else
{
rear++;
q[rear]=num;
}
}
break;
case 2:
{
if(front==-1)
{
cout<<"\n no element or underflow"  ;
break;
}
else if(front==rear)
{
temp=q[front];
cout<<"\n number deleted is="<<temp ;
front=rear=-1;
}
else if(front==MAX)
{
temp=q[front];
cout<<"\n number deleted is="<<temp;
//q[front]=null;
front=0;
}
else
{
temp=q[front];
cout<<"\n number deleted is="<<temp;

front++;
}
}
break;
case 3:
{
if(front<=rear)
{
for(i=front;i<=rear;i++)
{
cout<<"\t"<<q[i];
}
}
else
{
for(i=front;i<=MAX;i++)
{
cout<<"\t"<<q[i];
}
for(i=0;i<=rear;i++)
{
cout<<"\t"<<q[i];
}
}
}
break;
case 4:
{
cout<<    "\n ";
for(long int r=50000;r>0;r--)
{
clrscr();
cout<<"it will take 5 seconds"<<"\t";
if(r==1)
{
exit(1);
}
}
}
break;
}
cout<<"\n press y to play more with queue otherwise n===";
cin>>ch;
}while(ch=='y');
 getch();
}

No comments:

Post a Comment