本文實例講述了python雙端隊列原理、實現(xiàn)與使用方法。分享給大家供大家參考,具體如下:
雙端隊列
雙端隊列(deque,全名double-ended queue),是一種具有隊列和棧的性質(zhì)的數(shù)據(jù)結構。
雙端隊列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端隊列可以在隊列任意一端入隊和出隊。
操作
Deque() 創(chuàng)建一個空的雙端隊列
add_front(item) 從隊頭加入一個item元素
add_rear(item) 從隊尾加入一個item元素
remove_front() 從隊頭刪除一個item元素
remove_rear() 從隊尾刪除一個item元素
is_empty() 判斷雙端隊列是否為空
size() 返回隊列的大小
實現(xiàn)
class Deque(object): """雙端隊列""" def __init__(self): self.items = [] def is_empty(self): """判斷隊列是否為空""" return self.items == [] def add_front(self, item): """在隊頭添加元素""" self.items.insert(0,item) def add_rear(self, item): """在隊尾添加元素""" self.items.append(item) def remove_front(self): """從隊頭刪除元素""" return self.items.pop(0) def remove_rear(self): """從隊尾刪除元素""" return self.items.pop() def size(self): """返回隊列大小""" return len(self.items)if __name__ == "__main__": deque = Deque() deque.add_front(1) deque.add_front(2) deque.add_rear(3) deque.add_rear(4) print deque.size() print deque.remove_front() print deque.remove_front() print deque.remove_rear() print deque.remove_rear()
更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答