#include<stdio.h>
int front;
int rear;
int max = 5;
int beforecheck;
int queue[5] = {};
void init()
{
front = (front + 1)% max;
rear = (rear + 1) % max;
}
void view()
{
int i;
printf("queue status\n");
printf("----0 ----1 ----2 ----3 ----4\n");
for(i = 0; i < max; i++)
{
printf("%05d ", queue[i]);
}
}
int dequeue()
{
int data;
if(rear == front && beforecheck == 200)
{
printf("queue is empty");
return;
}
printf("output data: %d\n", queue[front]);
queue[front] = 0;
front++;
rear %= max;
beforecheck = 200;
}
void enqueue(int k)
{
if(rear == front && beforecheck == 100)
{
printf("queue is full");
return;
}
queue[rear++] = k;
rear %= max;
beforecheck = 100;
}
int main()
{
int n, k;
for( ; ; )
{
printf("1: input\n2:output\n3: view\n>>>>>>>>>>>>>>");
scanf("%d", &n);
switch(n)
{
case 1:
printf("input: ");
scanf("%d", &k);
enqueue(k);
break;
case 2:
dequeue();
break;
case 3:
view();
break;
}
}
return 0;
}