【代码】//文件名: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=-1; //这里和环形队不同
}
void DestroyQueue(SqQueue *q) //销毁队
{ free(q);
}
bool QueueEmpty(SqQueue *q) //判断队是否为空
{ return q->front==q->rear;
}
bool EnQueue(SqQueue *q,ElemType e) //进队
{ if(q->rear==MaxSize-1)//
return false;//
q->rear++;//
q->data[q->rear]=e;
return true;
}
bool DeQueue(SqQueue *q,ElemType &e) //出队
{ if(q->front==q->rear)//
return false;
q->front++;
e=q->data[q->front];
return true;
}