資料結構 雙向佇列

2021-08-21 17:46:47 字數 1124 閱讀 5703

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