更新時間:2020-02-26 12:49:34 來源:動力節點 瀏覽2476次
循環隊列:把存儲隊列元素的表從邏輯上看成一個環,稱為循環隊列。當隊首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基礎教程:Java循環數組隊列”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習