15.2队列的应用
作者:互联网
队列
定义:一种可以实现“先进后出”的存储结构
分类:
-
链式队列 ------ 用链表实现
-
静态队列 ------ 用数组实现
静态队列通常必须是循环队列
循环队列的讲解:对队列长度取余来表示指针位置
-
静态队列为什么必须是循环队列
-
循环队列需要几个参数来确定
- 两个参数
- 两个参数不同场合有不同含义
-
循环队列各个参数的含义:初学者记住
-
队列初始化:
font和rear的值都是零
-
队列非空:
font代表的是队列的第一个元素
rear代表的是队列的最后一个有效元素的下一个元素
-
队列空:
font和rear的值相等,但不一定是零
-
-
循环队列入队伪算法讲解
-
两步完成:
-
将值存入r所代表的位置
-
错误写法:r = r+1
正确写法:r = (r + 1) % 数组的长度
-
-
-
循环队列出队伪算法讲解
- f = (f + 1) % 数组的长度
-
如何判断循环队列是否为空
- front和rear相等,则队列一定为空
-
如何判断循环队列是否已满
-
预备知识:
front 和 rear之间,因为循环周期的存在不存在大小规律
-
两种方式:
-
多增加一个表标识参数
-
少用一个元素(通常使用第二种方式)
-
伪代码:
if( (r+1)%数组长度 == f )
已满
else
不满
队列算法
- 入队
- 出队
队列的具体应用:
- 所有和时间有关的操作都与队列有关
-
-
-
专题:递归
标签:15.2,数组,队列,循环,参数,应用,font,rear 来源: https://www.cnblogs.com/chentongxue/p/16434187.html