队列
-
队列queue,是一个有序列表,可以用数组和链表实现
-
先进先出,如银行业务办理
-
用数组模拟队列
队尾:rear——rear会随着数据的输入而不断增加
队首:front——front会随着数据的输出而不断增加
队列的长度:rear - front + 1
最大容量:maxsize
注:这张图有问题,而且,front,rear不一定是从-1开始 -
数据添加
1. 添加之前需判断队列的容量——如何判断——rear表示的是队尾元素的序号,因为容量为 rear+1,只需判断 rear+1与 maxsize的关系即可
2. 添加之后,rear+1
3. 注意rear 与 front都是不断增大的 -
数据取出
循环队列
- 如果不设置成为循环队列,那么在操作若干次之后,front=rear=maxsize-1,在这种条件下这个队列既没有数据,也不能添加数据——无复用效果