数组模拟环形队列:
思路:
1.front变量的含义:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素。
front的初始值=0
2.rear变量的含义:rear指向队列的最后一个元素的后一个位置,因为空出一个空间作为预定。rear的初始值=0
3.当队列满时,条件是(rear+1)%maxSize==front
4.当队列为空的条件,rear==front
5.队列中有效的数据的古树(rear+maxSize-front)%maxSize
创建环形队列:
class CircleArray {
private int maxSize; //表示数组最大容量
private int front; //队列头
//front变量的含义:front就指向队列的第一个元素,也就是arr[front]
//front的初始值=0
private int rear; //队列尾
//rear变量的含义:rear就指向队列的最后一个元素的后一个位置
//rear的初始值=0
private int arr[] ; //存放数据,模拟队列
public CircleArray(int arrMaxSize){
maxSize=arrMaxSize;
arr=new int[maxSize];
}
判满: