python雙端佇列的實現

2021-08-19 17:14:20 字數 1318 閱讀 7717

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

雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。

'''雙端佇列,兩端即可以新增也可以刪除'''

def __init__(self):

self.__list =

def add_front(self, item):

'''頭部新增'''

self.__list.insert(0, item)

def add_rear(self, item):

'''尾部新增'''

def remove_front(self):

'''頭部刪除'''

return self.__list.pop(0)

def remove_rear(self):

'''尾部刪除'''

return self.__list.pop()

def is_empty(self):

'''判斷是否為空'''

return self.__list ==

def length(self):

'''獲取雙斷佇列的長度'''

return len(self.__list)

if __name__ == '__main__':

dequeue = dequeue()

dequeue.add_front(1)

dequeue.add_front(2)

dequeue.add_front(3)

dequeue.add_rear(4)

dequeue.add_rear(5)

print(dequeue._dequeue__list)

print(dequeue.remove_front())

print(dequeue.remove_rear())

執行結果:

/home/longhui/desktop/資料結構與演算法/venv/bin/python /home/longhui/desktop/資料結構與演算法/venv/mycode/5_queue/my_dequeue.py

[3, 2, 1, 4, 5]35

process finished with exit code 0

python實現雙端佇列

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

python實現佇列和雙端佇列

對於佇列而言,總有一端的複雜度是o n 一端是o 1 我們可以根據是取的多還是入的多調整方法。class queue object 佇列 def init self self.items def is empty self return self.items def enqueue self,ite...

用Python實現雙端佇列

雙端佇列 雙端佇列 deque,全名double ended queue 是 種具有佇列和棧的 性質的資料結構。雙端佇列中的元素可以從兩端彈出,其限定插 和刪除操作在表的兩端進 雙端佇列可以在佇列任意 端 隊和出隊。操作 實現 class deque object 雙端佇列 def init sel...