python高階筆記(4) 雙端佇列

2021-10-24 07:49:18 字數 1257 閱讀 3752

雙端佇列(dequeue,全名 double-ended queue),佇列的高階版,一種具有佇列和棧的性質的資料結構。

雙端佇列可以從兩端彈出元素(出隊)或插入元素(入隊),但也僅限於兩端,與佇列和棧相同。

class

dequeue()

:"""雙端佇列"""

def__init__

(self)

: self.items =

defis_empty

(self)

:"""判斷是否為空"""

return self.items ==

defadd_front

(self,item)

:"""頭部新增"""

self.items.insert(

0,item)

defadd_rear

(self,item)

:"""尾部新增"""

defremove_front

(self)

:"""頭部刪除"""

return self.items.pop(0)

defremove_rear

(self)

:"""尾部刪除"""

return self.items.pop(

)def

size

(self)

:"""列表大小"""

return

len(self.items)

if __name__ ==

'__main__'

: d = dequeue(

) d.add_front(3)

d.add_front(2)

d.add_front(1)

d.add_rear(

'a')

d.add_rear(

'b')

d.add_rear(

'c')

print

(d.size())

print

(d.remove_front())

print

(d.remove_front())

print

(d.remove_front())

print

(d.remove_rear())

print

(d.remove_rear())

print

(d.remove_rear(

))

Python雙端佇列

這個雙端佇列,我覺得只是對python可迭代物件的乙個擴充套件。如果想要對可迭代物件有更好的操作,可以使用這個類 匯入from collections import deque建立物件 不初始化佇列 dq deque 可迭代物件,佇列長度 初始化佇列 dq deque 可迭代物件,佇列長度 此佇列可...

python實現雙端佇列

雙端佇列 一種具有佇列和棧的性質和資料結構 雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作,在表的兩端進行,雙端佇列可以在佇列任意一端入隊和出隊 class deque 雙端佇列 def init self self.list def add front self,item 往佇列中新增乙個i...

佇列 雙端佇列

1.佇列 佇列是遵循先進先出 fifo,也稱為先來先服務 原則的一組有序的項。佇列在尾部新增新 元素,並從頂部移除元素。最新新增的元素必須排在佇列的末尾 class queue 向佇列新增元素 enqueue element 檢查佇列是否為空並獲取它的長度 isempty 從佇列移除元素 deque...