2.6 数据结构 --1.2 队列
2020-03-09 本文已影响0人
寒暄_HX
数据结构子目录https://www.jianshu.com/p/a344fa483655
队列
什么是队列
队列是一个数据结合,仅允许在一端进行插入,另一端进行删除。
![](https://img.haomeiwen.com/i20155953/c43b1c660ae9b9a6.png)
队列的特点
先进先出
队列的概念
队尾
队头
队列的操作
进队
出队
队列的理想实现
队列的理想实现是列表,但是这里有一个最大的问题便是,出队操作之后前指针后移造成了出队元素的空间浪费,如果放着不管的话,这么大的空间浪费让人心疼。
但是如果进行修改,让元素出队后后面的元素移动索引向前的话,那么要队列和没要队列区别也不大。
队列的实际实现
终于人们设计出了环形队列,让整个队列没有了绝对的首尾。
![](https://img.haomeiwen.com/i20155953/62ff10772748eac2.png)
这样的队列就可以避免大规模的空间浪费。
实现原理:
尾指针front = maxsize+1时,再前进一个位置就自动变0.
1.队首指针前进:fornt = (fornt+1) % maxsize
2.队尾指针前进:rear = (rear+1) % maxsize
3.队空条件:rear == fornt
4.队满条件:(rear + 1)%maxsize == fornt