什么是队列?
1)队列是一个有序列表,可以用数组或是链表来实现
2)遵循先入先出的原则。即先存入队列的数据要先取出,后存入队列的数据要后取出。(加数据是在队列的尾部加,取数据是在队列的首部取)
数组模拟队列
分析
(1)队列本身是一个有序列表,若使用数组的结构来存储队列的数据,则队列数的声明如下图,其中maxSize表示该队列的最大容量。
(2)因为队列的输出和输入是分别从此队列的前后端来处理的,因此需要两个变量 front 和 rear 分别记录队列前后端的下标,front 会随着数据输出二改变,rear 则是随着数据输入而改变。
存入队列的步骤
当我们将数据存入队列时称为addQueue,addQueue的处理需要有两个步骤:
(1)将尾指针往后移,即rear + 1,当 front == rear 时,说明此时队列为空
(2)若尾指针 rear 小于队列的最大下标 maxSize - 1,则可以将数据存入 rear 所指的数组元素中,否则无法存入数据。即当 rae == maxSize - 1 时,说明该队列已满。
使用数组模拟队列—编写一个ArrayQueue类
class ArrayQueue