队列特点
①队列是一种操作受限的线性表
②队列只允许在一端进行插入(即入队),另一端进行删除(即出队);队尾进,对头出(First In First Out ,FIFO)
队列基本操作
//初始化队列,构造一个空的队列
void initQueue(SqQueue &Q);
//判断队列是否为空
bool QueueIsEmpty(SqQueue Q);
//入队操作
void enQueue(SqQueue &Q,int value);
//出对操作
int outQueue(SqQueue &Q);
//读队头元素
int getHead(SqQueue Q);
代码实现
/**
* 顺序存储队列的基本操作
*/
#include <cstdio>
#define maxsize 10 //定义队列中元素的最大个数
typedef struct {
int data[maxsize]; //存放队列元素
int front,rear; //对头指针和队尾指针 数组下标也可以表示指针,可以不加*
int length; //队列中存储数据的总长度
}SqQueue;
/**
* 初始化队列,构造一个空的队列
*/
void initQueue(SqQueue &Q){
Q.front = Q.rear = 0; //初始化队首队尾指针,构建空的队列
Q