更新时间:2020-02-26 12:49:34 来源:极悦 浏览2132次
循环队列:把存储队列元素的表从逻辑上看成一个环,称为循环队列。当队首front=maxSize-1后,再前进一个位置就自动到0,这可以利用除法取余运算(%)来实现。
packagecom.ArrayQueue;
publicclassArrayQueue1{
publicstaticvoidmain(String[]args){
ArrayQueuearrayQueue=newArrayQueue(5);
System.out.println("判空:"+arrayQueue.isEmpty());
System.out.println("执行入队操作···");
arrayQueue.enQueue(1);
arrayQueue.enQueue(2);
arrayQueue.enQueue(3);
arrayQueue.enQueue(4);
System.out.println("输出队中的长度:");
System.out.println(arrayQueue.getSize());
System.out.println("队中元素为:");
arrayQueue.getAll();
System.out.println("执行出队操作···");
arrayQueue.deQueue();
System.out.println("队中元素为:");
arrayQueue.getAll();
System.out.println("输出队中的长度:");
System.out.println(arrayQueue.getSize());
}
publicstaticclassArrayQueue{
privateintfront;//队头
privateintrear;//队尾
privateintmaxSize=5;//最大容量
privateintsize;//当前队列长度
privateintarr[];//模拟队列的数组
//初始化
publicArrayQueue(intmaxSize){
this.maxSize=maxSize;
arr=newint[maxSize];
front=0;
rear=0;
size=0;
}
//判断队空
publicbooleanisEmpty(){
returnfront==rear;
}
//判断队满
publicbooleanisFull(){
return(rear+1)%maxSize==front;
}
//入队
publicvoidenQueue(intn){
if(isFull()){
thrownewRuntimeException("队满,不能进行入队操作···");
}
size++;
arr[rear]=n;
rear=(rear+1)%maxSize;
}
//出队
publicintdeQueue(){
if(isEmpty()){
thrownewRuntimeException("队空,不能进行出队操作···");
}
size--;
intm=arr[front];
front=(front+1)%maxSize;
returnm;
}
//显示队列中的元素
publicvoidgetAll(){
if(isEmpty()){
thrownewRuntimeException("队列为空····");
}
for(inti=front;i<rear;i++){
System.out.print(arr[i]+"");
}
System.out.println();
}
//显示队的长度
publicintgetSize(){
returnsize;
}
}
}
运行结果如下图所示:
以上就是极悦注册机构小编介绍的“Java基础教程:Java循环数组队列”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习