python實現佇列

2022-07-10 11:21:07 字數 1844 閱讀 4590

單向佇列:佇列是只允許在一端進行插入操作,在另外一段進行刪除操作的線性表,佇列不允許在中間部位進行操作,先進先出(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...