/**
数组实现循环队列
*/
public class LoopQueue {// 存储数据的数组
int[] queue;
// 队头指针
int front;
// 队尾指针
int rear;/**
- 初始化
- @param queueSize
*/
public LoopQueue(int queueSize){
this.front=0;
this.rear=0;
this.queue = new int[queueSize];
}
/**
- 入队
- @param element
- @return
*/
public boolean enQueue(int element){
if(isFull()){
throw new RuntimeException(“队列已经满了!”);
}
queue[rear]=element;
// 尾指针移动
rear=(rear+1)%queue.length;
return true;
}
/**
- 出队,头指针移动
- @return
*/
public int deQueue(){
if(isEmpty()){
throw new RuntimeException(“队列已经空了!”);
}
int element=queue[front];
front=(front+1)%queue.length;
return element;
}
/**
- 判空
- @return
*/
public boolean isEmpty(){
if(front==rear){
return true;
}else{
return false;
}
}
/**
- 判满
- @return
*/
public boolean isFull(){
if((rear+1)%queue.length==front){
return true;
}else{
return false;
}
}
}
版权声明:本文为daBai_Zzz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。