資料結構之 雙端佇列

2021-09-24 08:48:04 字數 693 閱讀 8143

雙端佇列(deque)是指允許兩端都可以進行入隊和出隊操作的佇列,deque 是 「double ended queue」 的簡稱。那就說明元素可以從隊頭出隊和入隊,也可以從隊尾出隊和入隊。

雙端佇列的儲存結構

public

class

linkedblockingdeque

}複製**

從隊頭入隊

public

boolean

offerfirst

(nodenode)

複製**

從隊頭出隊

public e pollfirst

()複製**

從隊尾入隊

public

boolean

offerlast

(nodenode)

複製**

從隊尾出隊

public e polllast

()複製**

雙端佇列其實和佇列差不多的,只是更加靈活了,隊頭和隊尾均可進行入隊和出隊操作。這裡是基於鍊錶的雙端佇列實現,具體詳情可檢視 jdk 的 linkedblockingdeque 的實現,它還考慮了執行緒安全相關的東西,這裡只是簡單的乙個實現,了解雙端佇列的結構和運作方式。

資料結構之雙端佇列

摘要 有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從 可以直接看出來。include stdafx.h include malloc.h include stdlib.h typedef struct dequeuerecord queue struct dequeu...

資料結構 佇列 雙端佇列

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...

python資料結構 雙端佇列

deque,全名double ended queue 佇列和棧的性質的資料結構 雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。usr bin env python coding utf 8 created by xuehz on 2017 ...