陣列實現佇列 Java實現

2021-09-24 04:49:34 字數 650 閱讀 5756

採用兩個指標以及佇列大小的變數,start和end以及size,新增元素,end向後移動,start不動,size+1,刪除元素,end不動,start後移,size-1。當end移動到arr.length時候,如果佇列沒有滿,也就是size!=arr.length,那說明陣列arr的開始位置肯定是空的,所以繼續新增元素的時候end重新移動到arr的0位置。

class myqueue

arr = new int[initsize];

start = 0;

end = 0;

size = 0;

}public void push(int obj)

arr[end] = obj;

end = end == arr.length - 1 ? 0 : end + 1;

size++;

}public int poll()

int tmp = start;

start = start == arr.length - 1 ? 0 : start + 1;

size--;

return arr[tmp];

}public integer peek()

return arr[start];

}}

java 利用陣列實現迴圈佇列

迴圈佇列可以有效的利用資源。如果使用普通陣列實現佇列時,如果不進行移動,隨著資料的不斷讀寫彈出插入,會出現假滿佇列的情況。例如不斷向佇列中新增元素,然後在彈出元素。這是彈出元素所空閒出來的空間並沒有得到重複利用,這是就會出現陣列尾部已經滿了,但是頭部還有空閒空間沒有得到利用。入隊時尾指標向前追趕頭指...

java佇列的迴圈陣列實現

package com.yy.queue 迴圈陣列佇列 author public class queue public queue 獲取當前佇列長度 public int getqueuesize else return currentsize 入隊操作 public void enqueue o...

Java實現佇列

先寫乙個介面,確定要實現的功能package myqueue public inte ce myqueue順序佇列 package myqueue public class queuearray implements myqueue override public void clear overri...