佇列 Java實現

2021-08-03 19:46:28 字數 986 閱讀 6454

佇列主要的特性是先進先出(fifo)

先看一下佇列的基本結構

private object data = null;

private

int maxsize;// 佇列的容量

private

int front;// 頭

private

int rear;// 尾

data 用來存放佇列中的值

public

myqueue(int max)

front 和 rear 這個時候都指向佇列的頭部

應為開始的時候,front和rear都是指在頭部,那只要front==rear這個佇列就是空佇列,當rear==maxsize的時候就代表,佇列已經滿了

// 判斷佇列是否為空

public

boolean

isempty()

//判斷佇列是否滿

public

boolean

isfull()

入隊的思路為,將新進來的資料放在隊尾所指的位置,然後讓對尾向後移動一位,隊首永遠指在佇列的頭部

// 入隊

public

void

add(object ob)

出隊的思路為,我們把頭指標指向位置的資料出隊,然後頭這個位置就空出來了,再讓後面的挨個往前完成出隊,當然這個方式的缺點也很明顯,佇列越長,一次出隊越麻煩,用鍊錶的話可以解決這個問題。

// 出隊乙個

public object pop()

object myruturn = data[front];//要出隊的項

for (int i = front; i < rear; i++)

rear--;

return myruturn;

}

Java實現佇列

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

Java佇列實現

佇列陣列實現 佇列長度有限,但是考慮到平時一般都使用有界佇列,這應該也不算是個缺點 public class queue public void push object obj throws exception public object pop throws exception public ob...

Java實現佇列

佇列 queue 是一種只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭 鍊錶方式實現佇列 author victertian version v1.0 date...