Sunday, December 12, 2010

Circular Queue using array

//program to implement circular queue using an array.

#include
#include
#include

#define SIZE 5

class cqueue
{
int arr[SIZE];
int rear,front;

public:
cqueue();
void enqueue(int);
void dequeue();
void display();
};

cqueue::cqueue()
{
front=rear=-1;
}

void cqueue::enqueue(int item)
{
int next;

if(front==-1)
{
front=rear=0;
arr[rear]=item;
}
else
{
next=(rear%SIZE)+1;
if(next==SIZE)
{
next=0;
}
if(next==front)
{ cout<<"\nCircular queue is full!!!";
//
}
else
{
rear=next;
arr[rear]=item;
//cout<<"\nCircular queue is full!!!";
}
}
}

void cqueue::dequeue()
{
int item;

if(front==-1)
{
cout<<"\nThe queue is empty!!!";
return;
}
else
{
item=arr[front];
cout<<"\nThe element deleted from circular queue is "< if(front==rear)
{
front=rear=-1;
}
else
{
front=(front%SIZE)+1;
}
}
}

void cqueue::display()
{
int i=0,next;

if(front==-1)
{
cout<<"\nCircular Queue is empty !!!!";
return;
}
do
{
next=(front%SIZE)+i;
if(next>=SIZE)
next=next-SIZE;

cout<";
i++;
}while(next!=rear);

}

void main()
{
int data,ch;
cqueue c1;

clrscr();
do
{
cout<<"\n-----------Circular Queue-----------";
cout<<"\n1_Enqueue";
cout<<"\n2_Dequeue";
cout<<"\n3_Display";
cout<<"\n4_Exit";
cout<<"\nEnter your choice<1-4>:";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\nEnter the item to be inserted:";
cin>>data;
c1.enqueue(data);
c1.display();
break;

case 2:
c1.dequeue();
break;

case 3:
c1.display();
break;

case 4:
exit(0);
break;

default:
cout<<"\nInvalid choice!!!!";
break;
}
}while(ch!=4);
getch();
}

No comments:

Post a Comment