Java基礎(chǔ)教程:Java循環(huán)數(shù)組隊(duì)列

Java基礎(chǔ)教程:Java循環(huán)數(shù)組隊(duì)列

深圳達(dá)內(nèi)教育      2022-03-21 00:40:01     12

Java基礎(chǔ)教程:Java循環(huán)數(shù)組隊(duì)列,  循環(huán)隊(duì)列:把存儲(chǔ)隊(duì)列元素的表從邏輯上看成一個(gè)環(huán),稱(chēng)為循環(huán)隊(duì)列。當(dāng)隊(duì)首front=maxSize-1后,再前進(jìn)一個(gè)位置就自動(dòng)到0,這可

課程價(jià)格 請(qǐng)咨詢

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹


  循環(huán)隊(duì)列:把存儲(chǔ)隊(duì)列元素的表從邏輯上看成一個(gè)環(huán),稱(chēng)為循環(huán)隊(duì)列。當(dāng)隊(duì)首front=maxSize-1后,再前進(jìn)一個(gè)位置就自動(dòng)到0,這可以利用除法取余運(yùn)算(%)來(lái)實(shí)現(xiàn)。



  packagecom.ArrayQueue;


  publicclassArrayQueue1{


  publicstaticvoidmain(String[]args){


  ArrayQueuearrayQueue=newArrayQueue(5);


  System.out.println("判空:"+arrayQueue.isEmpty());


  System.out.println("執(zhí)行入隊(duì)操作···");


  arrayQueue.enQueue(1);


  arrayQueue.enQueue(2);


  arrayQueue.enQueue(3);


  arrayQueue.enQueue(4);


  System.out.println("輸出隊(duì)中的長(zhǎng)度:");


  System.out.println(arrayQueue.getSize());


  System.out.println("隊(duì)中元素為:");


  arrayQueue.getAll();


  System.out.println("執(zhí)行出隊(duì)操作···");


  arrayQueue.deQueue();


  System.out.println("隊(duì)中元素為:");


  arrayQueue.getAll();


  System.out.println("輸出隊(duì)中的長(zhǎng)度:");


  System.out.println(arrayQueue.getSize());


  }


  publicstaticclassArrayQueue{


  privateintfront;//隊(duì)頭


  privateintrear;//隊(duì)尾


  privateintmaxSize=5;//最大容量


  privateintsize;//當(dāng)前隊(duì)列長(zhǎng)度


  privateintarr[];//模擬隊(duì)列的數(shù)組


  //初始化


  publicArrayQueue(intmaxSize){


  this.maxSize=maxSize;


  arr=newint[maxSize];


  front=0;


  rear=0;


  size=0;


  }


  //判斷隊(duì)空


  publicbooleanisEmpty(){


  returnfront==rear;


  }


  //判斷隊(duì)滿


  publicbooleanisFull(){


  return(rear+1)%maxSize==front;


  }


  //入隊(duì)


  publicvoidenQueue(intn){


  if(isFull()){


  thrownewRuntimeException("隊(duì)滿,不能進(jìn)行入隊(duì)操作···");


  }


  size++;


  arr[rear]=n;


  rear=(rear+1)%maxSize;


  }


  //出隊(duì)


  publicintdeQueue(){


  if(isEmpty()){


  thrownewRuntimeException("隊(duì)空,不能進(jìn)行出隊(duì)操作···");


  }


  size--;


  intm=arr[front];


  front=(front+1)%maxSize;


  returnm;


  }


  //顯示隊(duì)列中的元素


  publicvoidgetAll(){


  if(isEmpty()){


  thrownewRuntimeException("隊(duì)列為空····");


  }


  for(inti=front;i<rear;i++){


  System.out.print(arr[i]+"");


  }


  System.out.println();


  }


  //顯示隊(duì)的長(zhǎng)度


  publicintgetSize(){


  returnsize;


  }


  }


  }


  運(yùn)行結(jié)果如下圖所示:



      以上就是深圳達(dá)內(nèi)教育Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java基礎(chǔ)教程:Java循環(huán)數(shù)組隊(duì)列”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。


Java基礎(chǔ)教程

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過(guò)大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。