public class CircleArrayQueue {
private int maxSize;//数组的最大容量
private int front;//指向队列的第一个元素
private int rear;//指向队列的最后一个元素
private int [] arr;//存放数据,模拟队列
public CircleArrayQueue(int arrMaxSize){
maxSize = arrMaxSize;
arr = new int[maxSize];
front = 0;//队头
rear = 0;//队尾
}
public boolean isEmpyt(){
return rear == front;
}
public boolean isFull(){
return (rear + 1) % maxSize == front;
}
public void addQueue(int n){
if(isFull()){
System.out.println("满了");
}
arr[rear] = n;
rear = (rear+1) % maxSize;
}
public int getQueue(){
if(isEmpyt()){
System.out.println("空");
}
int value = arr[front];
front = (front + 1) % maxSize;
return value;
}
public void showQueue(){
if(isEmpyt()){
System.out.println("空");
}
for (int i = front; i < front +((rear - front + maxSize) % maxSize);i++) {
System.out.println(i % maxSize);
}
}
}
Java数组实现循环队列
最新推荐文章于 2024-10-17 23:32:38 发布