一、队列简介:
- 队列是一个有序列表,可以用数组或链表实现
- 遵循先入先出原则,也就是说:先存入队列的数据,要先取出,后存入的数据后取出
场景:银行叫号系统
- 数组模拟队列:队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如上图,其中MaxSize是该队列的最大容量
- 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front 会随着数据输出而改变,而rear则是随着数据输入而改变,如上图所示
二、数组模拟队列的思路
当我们将数据存入队列时称为addQueue,addQueue的处理需要两个步骤,
- 将尾指针后移:rear+1,前提条件是front == rear
- 若尾指针rear小于队列的最大下标maxSize,则将数据存入rear所指的数组元素