Friday, January 9, 2015

Circular Queue in C

#include<stdio.h>
#include<conio.h>
# define size 10
void insert();
void del();
void display();
int cq[size];
int front=-1,rear=-1;
void main()
{
int ch;
char choice;
clrscr();
do
{
printf("\t\t\tCircular queue\n");
printf("1.Insert\n");
printf("2.Delete\n");
printf("3.Display\n");
printf("4.Exit\n");
printf("Enter your choice-->");
scanf("%d",&ch);

switch(ch)
{
case 1:
insert();
break;
case 2:
del();
break;
case 3:
display();
break;
case 4:
exit();
default:
printf("Sorry wrong choice...::!!\n");
}
printf("do you want to continue...:");
fflush(stdin);
scanf("%c",&choice);
}while(choice=='y' || choice=='Y');
}
void insert()
{
if(front==(rear+1)%size)
{
printf("Queue is full\n");
}
else
{
if(front==-1)
{
rear=0;
front=0;
}
else
{
rear=(rear+1)%size;
}
printf("Enter value to insert-->");
scanf("%d",&cq[rear]);
}
}
void del()
{
if(front==-1)
{
printf("Queue is empty\n");
}
else
{
printf("\nDeleted value= %d\n",cq[front]);
if(front==rear)
{
front=-1;
rear=-1;
}
else
{
front=(front+1)%size;
}
}
}
void display()
{
int i;
printf("\n\n****Display****\n");
if(front==-1 && rear==-1)
{
printf("Queue is empty");
}
else
{
for(i=front;i<=rear;i++)
{
printf("%d\n",cq[i]);
}
}
if(front>=rear)
{
for(i=front;i<size;i++)
{
printf("%d\n",cq[i]);
}
for(i=0;i<=rear;i++)
{
printf("%d\n",cq[i]);
}

}
}


for more codes you can Visit http://codesofprogramming.blogspot.in/

No comments:

Post a Comment