【代码】//文件名:sqqueue.cpp
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef int ElemType;
typedef struct
{ ElemType data[MaxSize];
int front,rear;
} SqQueue;
void InitQueue(SqQueue *&q) //初始化队
{ q=(SqQueue *)malloc(sizeof(SqQueue));
q->front=q->rear=0;
}
void DestroyQueue(SqQueue *q) //销毁队
{ free(q);
}
bool QueueEmpty(SqQueue *q) //判断队是否为空
{ return q->front==q->rear;
}
bool EnQueue(SqQueue *q,ElemType e) //进队
{ if((q->rear+1)%MaxSize==q->front)
return false;
q->rear=(q->rear+1)%MaxSize;
q->data[q->rear]=e;
return true;
}
bool DeQueue(SqQueue *q,ElemType &e) //出队
{ if(q->front==q->rear)
return false;
q->front=(q->front+1)%MaxSize;
e=q->data[q->front];
return true;
}