1
0
mirror of https://github.com/142vip/408CSFamily.git synced 2026-04-10 14:08:47 +08:00

update queue

This commit is contained in:
mmdapl
2021-03-14 11:49:02 +08:00
parent 3911e207c3
commit e86cb66ac9
2 changed files with 57 additions and 3 deletions

View File

@@ -69,10 +69,12 @@
- [栈的基本概念和基本操作](/数据结构/栈和队列/1.基本概念和基本操作.md)
- [栈的顺序存储结构](/数据结构/栈和队列/2.顺序存储结构.md)
- [栈的链式存储结构](/数据结构/栈和队列/3.链式存储结构.md)
- 顺序存储
- 链式存储
- [队列的基本概念和基础操作](/数据结构/栈和队列/4.队列的基本概念和基础操作.md)
- [队列的顺序存储]()
- [队列的链式存储]()
- 双端队列
- 和队列的应用
- 和队列的应用
- 括号匹配
- 表达式求值
- 递归

View File

@@ -0,0 +1,52 @@
<!--
* @Description:
* @Version: Beta1.0
* @Author: 【B站&公众号】Rong姐姐好可爱
* @Date: 2020-03-1 07:23:48
* @LastEditors: 【B站&公众号】Rong姐姐好可爱
* @LastEditTime: 2021-03-14 11:48:43
-->
## 队列的顺序存储结构
> 队列的顺序实现是指分配一块连续的存储单元用来存放队列中的元素,并且附加两个指针。
> - `front指针` 指向队头元素的位置
> - `rear指针` 指向队尾元素的位置
队列顺序存储类型:
```C++
// 队列最大存储元素个数
#define MaxSize 50
// 结构体定义
typedef struct {
// 存放队列元素
ElemType data[MaxSize];
// 队头指针和队尾指针
int front,rear;
} SqQueue;
```
假定:
- 队头指针指向队头元素
- 队尾指针指向队尾元素的下一个位置
则:
- 初始状态Q.front===Q.rear===0
- 入队操作:队不满时,先赋值给队尾元素,再移动队尾指针+1
- 出队操作: 队不空时,先取队头元素值,再移动队头指针+1
很显然,也存在:
- 队头指针指向队头元素的前一个位置
- 队尾指针指向队尾元素