雙端佇列(deque,全名double-ended queue),是一種具有佇列和棧的性質的資料結構。
雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。
佇列的資訊
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):
"""在隊尾新增元素"""
def remove_front(self):
"""從隊頭刪除元素"""
return self.items.pop(0)
def remove_rear(self):
"""從隊尾刪除元素"""
return self.items.pop()
def size(self):
"""返回佇列大小"""
return len(self.items)
def info(self):
"""返回佇列所有元素"""
return 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.info()
print deque.remove_front()
print deque.remove_front()
print deque.remove_rear()
print deque.remove_rear()
資料結構 ArrayDeque 雙向陣列佇列
簡介優先順序佇列只支援從一段取資料,內部結構是陣列,但是必須符合二叉堆,每次取資料都會伴隨上移下移,如果我們元素不不需要排序,有沒有更好的佇列呢?arraydeque 就能滿足這個需要,並且它可以在兩端方資料和取資料,內部也是用陣列實現。arraydeque 類 public class array...
資料結構 佇列
一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...
資料結構 佇列
資料參考自 資料結構c 語言描述 佇列是一種先進先出的資料結構,這與棧正好相反。下例是簡單的queue實現 queue.h檔案 ifndef queue h define queue h include include 資料元素結構 自定義 struct datatype 佇列元素最大數 const...