[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dygG2OpZ-1659251786882)(E:\非凡英才\数据结构(java)]\数据结构图解\使用数组模拟非环形队列示意图.png)
队列本身是有序列表,若使用数组的结构存储队列的数据,则队列数组的声明如上图,其中maxSize是该队列的最大容量
因为队列的输出和输入是分别从前后端来处理的,因此我们需要两个变量front和rear分别记录队列前端和后端的下标
队列为空的条件: front == rear
队列满的条件: rear == maxSize-1时就表示队列是满的
因为在我们这种非环形队列的设计之下,我们当rear,也就是队尾的下标到达maxSize-1(也就是数组中的最大索引位置)之后就表示队列满了,然后就不能向队列中添加元素了
其实这里我们就是要理解,其实rear和front就是表示索引值的变量,而这个时候我们也要知道我们创建的数组长度是maxSize,这个时候我们其实通过以前的学习就知道,当我们创建一个长度为x的数组的时候,那么这个数组中的最大索引值为:x-1 —> 而我们这种方式下其实设计的队列时有问题的,这里设计的队列不是一个环形队列