1. 程式人生 > >資料結構之python實現雙端佇列

資料結構之python實現雙端佇列

雙端佇列deque

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

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

程式碼實現

    """雙端佇列"""""
    
    class Deque(object):
        def __init__(self):
            self.data = []
    
        def add_front(self,item):
            """從隊頭加入一個item元素"""
            return
self.data.insert(0,item) def add_rear(self,item): """從隊尾加入一個item元素""" return self.data.append(item) def remove_front(self): """從隊頭刪除一個item元素""" return self.data.pop(0) def remove_rear(self): """從隊尾刪除一個item元素""" return
self.data.pop() def is_empty(self): """判斷雙端佇列是否為空""" return self.data == [] def size(self): """返回佇列的大小""" return len(self.data) if __name__ == '__main__': deque = Deque() # 當成棧使用 print("當成棧使用 ") deque.
add_rear(1) deque.add_rear(2) deque.add_rear(3) print(deque.remove_rear()) print(deque.remove_rear()) print(deque.remove_rear()) # 當成佇列使用 print(" 當成佇列使用 ") deque.add_front(1) deque.add_front(2) deque.add_front(3) print(deque.remove_rear()) print(deque.remove_rear()) print(deque.remove_rear())

以上內容僅是代表個人總結 若有錯誤之處,還請批評指正,歡迎大家一起學習!