typedef struct //队列的定义
{
char data[MAXSIZE];
int front;
int rear;
}Queue;
typedef int status;
status InitQueue(Queue &Q) //队列的初始化
{
Q.front=Q.rear=0;
return OK;
}
bool IsEmptyQ(Queue &Q) //判断队列是否为空
{
if (Q.front==Q.rear)
return true;
else
return false;
}
bool IsOverQ(Queue &Q) //判断队列是否为满
{
if (((Q.rear)%MAXSIZE)==Q.front) //这里就想到钟表来理解
return true;
else
return false;
}
status InQueue(Queue &Q,char x) //入队
{
if (IsOverQ(Q)) //队满不入
return ERROR;
else
printf("请输入要入队的元素:",x);
scanf("%d",&x);
Q.data[Q.rear]=x;
Q.rear++;
}
status OutQueue(Queue &Q,char &x) //出队
{
if (IsEmptyQ(Q)) //队空不出
return ERROR;
else
printf("%d",Q.front);
Q.front++;
}