#include < malloc.h > #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define MAXQSIZE 20 typedef int QElemType;typedef struct SqQueue ... { QElemType *base; int front; int rear;} SqQueue; // 初始化 int InitQueue(SqQueue * Q) ... { Q->base=(QElemType *)malloc(sizeof(QElemType)*MAXQSIZE); if(!Q->base) return OVERFLOW; Q->front=Q->rear=0; return OK;} // 进队列 int EnQueue(SqQueue * Q,QElemType e) ... { if((Q->rear+1)%MAXQSIZE==Q->front) return ERROR; Q->base[Q->rear]=e; Q->rear=(Q->rear+1)%MAXQSIZE; return OK;} // 出队列 int DeQueue(SqQueue * Q,QElemType * e) ... { if(Q->front==Q->rear) return ERROR; *e=Q->base[Q->front]; Q->front=(Q->front+1)%MAXQSIZE; return OK;} // 置空 int QueueEmpty(SqQueue Q) ... { if(Q.front==Q.rear) return 1; return 0;}