#include<stdio.h>
#include<stdlib.h>
#define ElemType int
#define MAXSIZE 100
typedef int Status ;
typedef struct SQ{
ElemType data[MAXSIZE];
int front ;
int rear;
}SqQueue;
void InitQ(SqQueue &Q)
{
Q.front=Q.rear=0;
}
Status EmptyQ(SqQueue Q)
{
if(Q.front==Q.rear)
return 1;
else
return 0;
}
Status FullQ(SqQueue Q)
{
if(Q.front==(Q.rear+1)%MAXSIZE)
return 1;
else
return 0;
}
Status EnQ(SqQueue &Q,ElemType e)
{
if(FullQ(Q))
return 0;
// else
{
//Q.data[Q.rear]=e;
Q.data[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXSIZE;
}
return 1;
}
Status DeQ(SqQueue &Q,ElemType &e)
{
if(!EmptyQ(Q))
{
e=Q.data[Q.front];
Q.front++;
return 1;
}
else
return 0;
}
void main()
{
SqQueue Q;
ElemType e;
int i,n;
printf("请输入队链长度:n=");
scanf("%d",&n);
printf("请输入n个数:\n");
for(i=0;i<n;i++)
{
scanf("%d",&e);
EnQ(Q,e);
}
if(DeQ(Q,e))
{
printf("%d ",e);
for(i=0;i<n-1;i++)
{
DeQ(Q,e);
printf("%d ",e);
}
}
}