單向佇列:佇列是只允許在一端進行插入操作,在另外一段進行刪除操作的線性表,佇列不允許在中間部位進行操作,先進先出(first in first out)python**實現單向佇列如下:
# coding:utf-8
class deque(object):
"""佇列:先進先出(fifo)
"""def __init__(self):
self._list =
def put(self, item):
"""新增乙個元素到佇列
"""def get(self):
"""從佇列取出乙個元素
"""return self._list.pop(0)
def is_empty(self):
"""判斷佇列是否為空
"""return not self._list
def size(self):
"""返回佇列的大小
"""return len(self._list)
if __name__ == '__main__':
s = deque()
print(s.is_empty())
s.put(1)
s.put(2)
s.put(3)
print(s.size())
print(s.get())
print(s.get())
print(s.is_empty())
雙向佇列:雙向佇列中的元素可以從兩端彈出,限定插入和刪除操作在表的兩端進行。雙向佇列可以在佇列任意一端入隊和出隊,實際由左右兩個棧組成。python**實現雙向佇列如下:
# coding:utf-8
class deque(object):
"""雙向佇列:佇列兩邊都可以取放元素
實際由左右兩個棧組成
"""def __init__(self):
self._list =
def put_left(self, item):
"""佇列左邊放乙個元素
"""self._list.insert(0, item)
def put_right(self, item):
"""佇列右邊放乙個元素
"""def get_left(self):
"""從佇列左邊取出乙個元素
"""return self._list.pop(0)
def get_right(self):
"""從佇列右邊取出乙個元素
"""return self._list.pop()
def is_empty(self):
"""判斷佇列是否為空
"""return not self._list
def size(self):
"""返回佇列的大小
"""return len(self._list)
if __name__ == '__main__':
s = deque()
print(s.is_empty())
s.put_left(1)
s.put_left(2)
s.put_right(3)
s.put_right(4)
print(s.size())
print(s.get_left())
print(s.get_right())
print(s.is_empty())
python 清空佇列 python實現 佇列
佇列 佇列的乙個特性是 先進先出 first in first out,fifo python中,同樣可以使用列表來儲存佇列的資料。通過建立乙個佇列類,便可以方便的對佇列進行操作。主要有 入隊 in 出隊 out 清空佇列 empty 設定佇列大小 setsize 獲取隊尾位置 getend 等 p...
佇列(python實現)
adt queue queue self 建立空佇列 is empty self 判斷佇列是否為空 enqueue self,elem 入隊 dequeue self 出隊 peek self 檢視最早入隊的元素,不刪除class queueunderflow valueerror 空佇列訪問 pa...
Python實現佇列
佇列 是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。特點 先進先出。class queue object def init self se...