首页 课程 师资 教程 报名

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

  • 2020-02-26 12:49:34
  • 2256次 动力节点


  循环队列:把存储队列元素的表从逻辑上看成一个环,称为循环队列。当队首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循环数组队列”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交