前言
小白跟随尚硅谷学习数据结构与算法的第二天—队列
一、队列的使用场景与介绍

队列介绍:
二、数组模拟对列
当加入数据的时候,front没有变化,rear不断增加;
当取出数据的时候,front不断增加,rear没有变化
对列本身为有序的列表,若用数组的结构来存储对列的数据,我们要设置四个参数,分别为数组前端(front),数组后端(rear),数组最大容量(maxSize),数组(arr) ,因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front 会随着数据输出而改变,而rear则是随着数据输入而改变。
首先我们要实现的功能为addQueue,即将数据存入对列,addQueue需要有两个步骤:
- 将尾指针往后移:rear+1,当front==rear【空】
- 若尾指针 rear小于队列的最大下标 maxSize-1,则将数据存入rear所指的数组元素中,否则无法存入数据。rear ==maxSize-1【队列满】
- rear是对列的最后一个数据,front是对列的首元素前一个元素,加入数据时,raer向后移动
代码实现:
1、首先我们要编写一个ArrayQueue类
private int maxSize;//表示数组最大容量
private int front;//队列头
private int rear;//队列尾
private int[] arr; //该数组用于存放数据 模拟队列
2、创建构造器
public ArrayQueue(int sizeMax){
this.sizeMax=sizeMax;
arr=new int[maxSize];
this.front =-1; //front是指向队列头的前一个位置
this.rear=-1; //指向队列尾的最后一个数据
}
3、addQueue的代码实现
/**
* 判断对列是否满
*/
public boolean isFull

最低0.47元/天 解锁文章
376

被折叠的 条评论
为什么被折叠?



