专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java基础教程:Java循环数组队列

Java基础教程:Java循环数组队列

更新时间:2020-02-26 12:49:34 来源:动力节点 浏览1999次


  循环队列:把存储队列元素的表从逻辑上看成一个环,称为循环队列。当队首front=maxSize-1后,再前进一个位置就自动到0,这可以利用除法取余运算(%)来实现。


Java基础教程:Java循环数组队列


  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循环数组队列


      以上就是动力节点Java培训机构小编介绍的“Java基础教程:Java循环数组队列”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>