JAVA資料結構與演算法(二)佇列

2021-09-22 10:11:15 字數 626 閱讀 9544

佇列是一種比較特殊的線性結構。它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。

佇列中最先插入的元素也將最先被刪除,對應的最後插入的元素將最後被刪除。因此佇列又稱為「先進先出」(fifo—first in first out)的線性表,與棧(filo-first in last out)剛好相反。

乙個重要公式:佇列長度=(front+rear+length)%length

下面我們來實現乙個佇列

public

class

myqueue

新增佇列

public

boolean

add(t t)

else

}

刪除佇列

public t  offer()

else

return t;

}}

看一下佇列頭

public

boolean

peek()

else

}

演算法與資料結構 二 佇列

佇列也是一種線性的資料結構,它與鍊錶的區別在於鍊錶可以在任意位置進行插入刪除操作,而佇列只能在一端進行插入,另一端進行刪除。它對應於現實世界中的排隊模型。佇列有兩種常見的實現方式 基於列表的實現和基於陣列的實現 基於鍊錶的佇列,我們需要儲存兩個指標,乙個指向頭節點,乙個指向尾節點。這種佇列不存在佇列...

資料結構(二) 佇列

一 佇列定義 佇列是限定在一端進行插入,另一端進行刪除特殊線性表。二 佇列基本操作 入隊出隊 三 佇列例題 1.例1 舞伴配對問題 分析 這一題是一道經典的取模運算,每一次將編號往前加一位,到達n就取模。include include include include int main return ...

資料結構 二 (佇列)

在模擬實現 佇列前應先簡單的了解先佇列的一些特點 佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。佇列最大...