05队列
# 队列
**定义**
队列(Queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表
- 队列是一种先进先出(First In First Out)的线性表
- 允许插入的一段称为**队尾**
- 允许删除的一段称为**队头**
**特点**
- 先进先出
- 后进后出
注意:队列是操作**受限制**的线性表
**队列的抽象数据类型**

**队列顺序存储结构——使用顺序表**
**普通队列:**
- 使用数组保存队列元素
- front:队头指针
- rear:队尾指针
**使用顺序表实现队列的缺点:**
- 队列已满,无法继续在队尾插入新元素
- 数组仍有空闲空间,造成空间浪费-假溢出
**队列的顺序存储结构——循环队列**
循环队列——队列头尾相接的顺序存储结构
typedef struct{
int data [MAX_SIZE];
int front; //头指针
int rear;//尾指针,如果队列不为空,指向队列尾元素的下一个位置
}SeqQueue;
//初始化一个空队列Q
Status initQueue(SeqQueue *q){
q->front = 0;
q->rear = 0;
return OK;
}
**特点**--数组未满时都可以插入新的队尾元素
由于搬运的时间成本,更多笔记分享请转至https://blog.csdn.net/weixin_42248871

浙公网安备 33010602011771号