#include<stdio.h>
#include<conio.h>
#define n 5
void enqueue_front();
void dequeue_front();
void enqueue_rear();
void dequeue_rear();
void display();
void get_front();
void get_rear();
void is_full();
void is_empty();
int queue[n],r=-1,f=-1;
void main()
{
int ch;
clrscr();
printf("1.enqueue front\n2.enqueue rear\n3.dequeue front\n4.dequeue rear\n");
printf("5.display\n6.get front\n7.get rear\n8is full\n9.isempty\n10.exit\n");
do
{
printf("\nenter choice: ");
scanf("%d",&ch);
switch(ch)
{
case 1: enqueue_front();
break;
case 2: enqueue_rear();
break;
case 3: dequeue_front();
break;
case 4: dequeue_rear();
break;
case 5: display();
break;
case 6: get_front();
break;
case 7: get_rear();
break;
case 8: is_full();
break;
case 9: is_empty();
break;
case 10: exit(0);
default: printf("\n\t\t!! enter valid choice !!\n");
}
}while(ch != 10);
}
void enqueue_rear()
{
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 value: ");
scanf("%d",&queue[r]);
}
else
{
r++;
printf("enter value: ");
scanf("%d",&queue[r]);
}
}
void enqueue_front()
{
if(f==-1 && r==-1)
{
f = r = 0;
printf("enter value: ");
scanf("%d",&queue[f]);
}
else if((f==0 && r==n-1) || (f == r+1))
{
printf("\n\t\t\t!! queue is full !!\n");
}
else if(f==0 && r != n-1)
{
f=n-1;
printf("enter value: ");
scanf("%d",&queue[f]);
}
else
{
f--;
printf("enter value: ");
scanf("%d",&queue[f]);
}
}
void dequeue_front()
{
if(f==-1 && r==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else if(f==r)
{
printf("%d is deleted\n",queue[f]);
f = r =-1;
}
else if(f==n-1)
{
printf("%d is deleted\n",queue[f]);
f=0;
}
else
{
printf("%d is deleted\n",queue[f]);
f++;
}
}
void dequeue_rear()
{
if(r==-1 && f==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else if(r==f)
{
printf("%d is deleted\n",queue[r]);
r = f = -1;
}
else if(r==0)
{
printf("%d is deleted\n",queue[r]);
r=n-1;
}
else
{
printf("%d is deleted\n",queue[r]);
r--;
}
}
void display()
{
int i;
if(f==-1 && r==-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]);
}
}
}
void get_front()
{
if(f==-1 && r==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else
{
printf("in queue front element is: %d\n",queue[f]);
}
}
void get_rear()
{
if(r==-1 && f==-1)
{
printf("\n\t\t\t!! queue is empty !!\n");
}
else
{
printf("in queue rear element is: %d\n",queue[r]);
}
}
void is_full()
{
if((f==0 && r==n-1) || (r+1 == f))
{
printf("\n\t\t\t\t!! true !!\n");
}
else
{
printf("\n\t\t\t\t!! false !!\n");
}
}
void is_empty()
{
if(f==-1 && r==-1)
{
printf("\n\t\t\t\t!! true !!\n");
}
else
{
printf("\n\t\t\t\t!! false !!\n");
}
}
No comments:
Post a Comment