#include<malloc.h>
#include<stdio.h>
#define OK 1
#define ERROR 0
typedef int Status; // Status¨º?o¡¥¨ºy¦Ì?¨¤¨¤D¨ª,???¦Ì¨º?o¡¥¨ºy?¨¢1?¡Á¡ä¨¬?¡ä¨²??¡ê?¨¨?OK¦Ì¨¨
typedef int QElemType;
#define MAXQSIZE 100 // ¡Á?¡ä¨®?¨®¨¢D3¡è?¨¨(??¨®¨²?-?¡¤?¨®¨¢D¡ê?¡Á?¡ä¨®?¨®¨¢D3¡è?¨¨¨°a??1)
typedef struct
{
QElemType *base; // 3?¨º??¡¥¦Ì??¡¥¨¬?¡¤???¡ä?¡ä¡é????
int front; // ¨ª¡¤????,¨¨??¨®¨¢D2???,???¨°?¨®¨¢D¨ª¡¤?a??
int rear; // ?2????,¨¨??¨®¨¢D2???,???¨°?¨®¨¢D?2?a??¦Ì???¨°???????
}SqQueue;
Status InitQueue(SqQueue &Q)
{
// 11?¨¬¨°??????¨®¨¢DQ¡ê????¨®¨¢D?¡è?¡§¨°?¡ä¨®D??aMAXQSIZE
// ??21¨¨?¡ä¨²??
Q.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType));
if(!Q.base) return ERROR;
Q.front=Q.rear=0;
return OK;
}
Status EnQueue(SqQueue &Q,QElemType e)
{
// 2?¨¨??a??e?aQ¦Ì?D?¦Ì??¨®?2?a??
// ??21¨¨?¡ä¨²??
if((Q.rear+1)%MAXQSIZE==Q.front) return ERROR;