Implementation of Circular Queue in c
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define
size 5
int
f=-1,r=-1,a[5];
void
enqueue(int);
int
dequeue(void);
void
main()
{
clrscr();
enqueue(10);
enqueue(20);
enqueue(30);
enqueue(40);
enqueue(50);
dequeue();
dequeue();
enqueue(60);
enqueue(70);
getch();
}
void
enqueue(int y)
{
if(f==0 && r==size)
{
printf("\nQueue is
full");
}
else if(f!=0 && r==size)
{
r=0;
a[r]=y;
printf("\nValue
enqueued is %d at a[%d]",a[r++],r);
}
else if(f==-1 && r==-1)
{
f=0;r=0;
a[r]=y;
printf("\nValue
enqueued is %d at a[%d]",a[r++],r);
}
else if(f==r)
{
printf("\nQueue is
full");
}
else
{
a[r]=y;
printf("\nValue
enqueued is %d at a[%d]",a[r++],r);
}
}
int
dequeue()
{
if(f==r)
{
f=-1;r=-1;
printf("\nQueue is
underflow");
return 0;
}
else
{
printf("\nDequeued
value is %d at a[%d]",a[f],f);
return a[f++];
}
}
No comments:
Post a Comment