#include<stdio.h>
#include<conio.h>
#define n 5
void enqueue();
void dequeue();
void display();
int queue[n],r=-1,f=-1;
// --> f means front...
// --> r means rear...
void main()
{
int ch;
clrscr();
printf("1.enqueue\n2.dequeue\n3.display\n4.exit\n");
do
{
printf("\nenter your choice: ");
scanf("%d",&ch);
switch(ch)
{
case 1: enqueue();
break;
case 2: dequeue();
break;
case 3: display();
break;
case 4: exit(0);
default: printf("\n\t\t\t!! enter valid choice !!\n");
break;
}
}while(ch != 4);
}
void enqueue()
{
if(r==-1 && f==-1)
{
r = f = 0;
printf("enter value: ");
scanf("%d",&queue[r]);
}
else if((r==n-1 && f==0) || (r+1 == f))
{
printf("\n\t\t\t!! queue is full !!\n");
}
else if(r==n-1 && f!=0)
{
r=0;
printf("enter a value: ");
scanf("%d",&queue[r]);
}
else
{
r++;
printf("enter value: ");
scanf("%d",&queue[r]);
}
}
void dequeue()
{
if(f==-1 && r==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else if(f == r)
{
printf("%d value deleted\n",queue[f]);
f = r = -1;
}
else if(f == n-1)
{
printf("%d deleted\n",queue[f]);
f=0;
}
else
{
printf("%d is deleted\n",queue[f]);
f++;
}
}
void display()
{
int i;
if(r==-1 && f==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else if(f <= r)
{
for(i=f; i<=r; i++)
{
printf("%d\n",queue[i]);
}
}
else
{
for(i=f; i<=n-1; i++)
{
printf("%d\n",queue[i]);
}
for(i=0; i<=r; i++)
{
printf("%d\n",queue[i]);
}
}
}
No comments:
Post a Comment