雙端佇列(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...