线性结构的两种常见应用之二:队列
线性结构的两种常见应用之二:队列
定义:一种可以实现“先进先出”的存储结构
分类:
链式队列:队列内部是用链表实现的
静态队列:队列内部是用数组实现的
静态队列通常必须是循环队列
循环队列的讲解—
1.静态队列为什么必须是循环 队列?
2.循环队列需要几个参数来确 定?
需要两个参数来确定
两个参数在不同的场合有 不同的含义,以后自己慢 慢体会
1、队列初始化
front和rear的值都
是零
2、队列非空
front—指向的第一 个元素
rear—指向最后一个 有效元素的下一个元 素
3、队列空
front和rear的值相 等,但不一定是零
3.循环队列各个参数的含义
上面第二个已讲
4.循环队列入队的伪算法
5.循环队列出队的伪算法
6.如何判断循环队列是否为空
如果front = rear,则为空
7.如何判断循环队列是否已满
预备知识:front和rear的 值谁大谁小不一定
两种方式:
1、多增加一个标志参数
2、少用一个元素(通常使用第二种方式)
队列算法:
入队:
出队:
队列的具体应用:
所有和时间有关的操作都有队列的影子