python資料結構 雙端佇列

2021-08-07 06:53:47 字數 1182 閱讀 6890

deque,全名double-ended queue

佇列和棧的性質的資料結構

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

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# created by xuehz on 2017/8/22

class

deque

(object):

"""雙端佇列"""

def__init__

(self):

self.items =

defis_empty

(self):

"""判斷佇列是否為空"""

return self.items ==

defadd_front

(self, item):

"""在隊頭新增元素"""

self.items.insert(0, item)

defadd_rear

(self, item):

"""在隊尾新增元素"""

defremove_front

(self):

"""從隊頭刪除元素"""

return self.items.pop(0)

defremove_rear

(self):

"""從隊尾刪除元素"""

return self.items.pop()

defsize

(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)

雙端佇列 deque,全名double ended queue 是一種具有佇列和棧的性質的資料結構。雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。返回佇列大小 return len self.items if name main deque...

資料結構 佇列 雙端佇列

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為對頭。佇列不允許在中間部位進行操作。假設佇列是q 那麼a1就是對頭元素,而an是隊尾元素。這樣我們就可...

資料結構之雙端佇列

摘要 有時候乙個佇列可能需要能從兩端進出,這時候稱呼它為雙端佇列。具體思路很簡單,從 可以直接看出來。include stdafx.h include malloc.h include stdlib.h typedef struct dequeuerecord queue struct dequeu...