一、概念
1、队列
一种“先进先出”的线性表。
二、顺序队列的基本操作
1、定义队列
#define elemType char
const int MaxSize = 5;
struct SqQueue
{
elemType data[MaxSize];
int front,rear; //队首和队尾指针
};
2、初始化队列
void InitQueue(SqQueue *&q)
{
q = new SqQueue;
q->front = q->rear = -1;
}
3、判断队列是否为空
bool QueueEmpty(SqQueue *q)
{
return q->front == q->rear;
}
4、进队列
bool enQueue(SqQueue *&q,elemType e)
{
if (q->rear == MaxSize-1) //队满上溢出
return false;
q->rear++;
q->data[q->rear] = e;
return true;
}
5、出队列
bool deQueue(SqQueue *&q,elemType &e)
{
if (q->front == q->rear) //队空下溢出
return false;
q->front++;
e = q->data[q->front];
return true;
}