#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define Max 5
#define ERROR 0
#define OVERFLOW 0
typedef int Status ;
typedef struct {
int *base;
int front;
int rear;
}SqQueue;
Status InitQueue(SqQueue &Q){ //队列的初始化
Q.base = (int *) malloc(Max *sizeof(int) );//为队列分配一个容量为 Max 的 数组空间
if(!Q.base) exit(OVERFLOW);
Q.front=Q.rear=0;
return OK;
}
Status EnQueue(SqQueue &Q,int e){ //入队
if((Q.rear+1)%Max==Q.front)
return ERROR;
Q.base[Q.rear]=e;
Q.rear = (Q.rear+1)%Max;
return OK;
}
Status DeQueue(SqQueue &Q, int &e)//出队
{
if(Q.front==Q.rear) return ERROR;
e= Q.base[Q.front];
Q.front=(Q
#include <stdlib.h>
#define OK 1
#define Max 5
#define ERROR 0
#define OVERFLOW 0
typedef int Status ;
typedef struct {
int *base;
int front;
int rear;
}SqQueue;
Status InitQueue(SqQueue &Q){ //队列的初始化
Q.base = (int *) malloc(Max *sizeof(int) );//为队列分配一个容量为 Max 的 数组空间
if(!Q.base) exit(OVERFLOW);
Q.front=Q.rear=0;
return OK;
}
Status EnQueue(SqQueue &Q,int e){ //入队
if((Q.rear+1)%Max==Q.front)
return ERROR;
Q.base[Q.rear]=e;
Q.rear = (Q.rear+1)%Max;
return OK;
}
Status DeQueue(SqQueue &Q, int &e)//出队
{
if(Q.front==Q.rear) return ERROR;
e= Q.base[Q.front];
Q.front=(Q