Tuesday 19 May 2015

C program to implement Circular QUEUE (insert ,delete,update)

#include<stdio.h>
#define max 5
void insert(int q[],int *f,int *r,int *count)
{
int data;
if(*count==max)
{
printf("Queue Overflow!!\n");
return;
}

*r=(*r+1)%max;

printf("Enter the item to insert to queue: ");
scanf("%d",&data);
q[*r]=data;
*count=*count+1;
}

void delete(int q[],int *f,int *r,int *count)
{
if(*count==0)
{
printf("Queue Undererflow!!\n");
return;
}

printf("The item deleted is %d\n",q[*f]);
*f=(*f+1)%max;
*count=*count-1;
}

void display(int q[],int f,int count)
{
int j,i;
if(count==0)
{
printf("Queue Underflow!!\n");
return;
}

j=f;
for(i=0;i<count;i++)
{
printf("%d ",q[j]);
j=(j+1)%max;
}
}

int main()
{
int q[max],f=0,r=-1,ch,count=0;

printf("****CIRCULAR-QUEUE****\n");
while(1)
{
printf("*******MENU********\n");
printf("1. Insert\n2. Delete\n3. Display\n4. Exit\n");
printf("Enter your choice: ");
scanf("%d",&ch);

switch(ch)
{
case 1: insert(q,&f,&r,&count);
break;

case 2: delete(q,&f,&r,&count);
break;

case 3: display(q,f,count);
break;

case 4: exit(0);

default: printf("Invalid menu option!!\n");
}
}
return;
}

No comments:

Post a Comment