# include<stdio.h>
# include<conio.h>
# include<math.h>
# define max 2
struct qtype
{
 int element[max];
 int front,rear;
 };
 void insert(struct qtype *,int);
 int delet(struct qtype *);
 void main()
 {
  struct qtype q={{0},0,-1};
  int n,ch,x,i;
  while(1)
  {
  printf("\n1.creation");
  printf("\n 2.insertion");
  printf("\n 3.deletion");
  printf("\n4.display");
  printf("\n5.exit");
  printf("enter your choice");
  scanf("%d",&ch);
  if(ch==5)
  break;
  switch(ch)
  {
  case 1:printf("enter how many elements");
	 scanf("%d",&n);
	 q.front=0;
	 q.rear=0;
	 printf("enter the elements");
	 for(i=0;i<n;i++)
	 {
	 printf("enter the %d element",i);
	 scanf("%d",&x);
	 insert(&q,x);
	 }
	 break;
  case 2:printf("enter the element");
	scanf("%d",&x);
	insert(&q,x);
	break;
 case 3:if(q.front==q.rear)
	printf("queue is empty");
	else
	printf("the deleted element is %d",delet(&q));
	break;
case 4:if(q.front==q.rear)
       printf("queue is empty");
       else
       if(q.front>q.rear)
       {
	for(i=q.front+1;i<=max-1;i++)
	printf("%d",q.element[i]);
	for(i=0;i<=q.rear;i++)
	printf("%d",q.element[i]);
	}
	else
	for(i=q.front+1;i<=q.rear;i++)
	{
	printf("\n%d",q.element[i]);
	}
	break;
default: printf("invalid option");
	 getch();
 }
 }
 }
 void insert(struct qtype *q,int x)
 {
 if(q->rear==max-1)
 q->rear=0;
 else
 q->rear++;
 if(q->rear==q->front)
 {
 printf("queue is full");
 getch();
 return;
 }
 else
 q->element[q->rear]=x;
 }
int delet(struct qtype *q)
 {
 int x;
  if(q->front==max-1)
  q->front=0;
  else
 q->front++;
 x=q->element[q->front];
 return(x);
 }








