佇列 Python 實現

2022-05-06 20:30:11 字數 1949 閱讀 3199

用 python 來實現 佇列和雙端佇列, 直接上**理解即可. 佇列蠻好理解的, 就是模擬咱生活中的排隊. 先進, 先出嘛.

"""

佇列 - adt

佇列 queue 被構造為在隊尾新增元素, 隊首刪除元素的有序集合, fifo

queue(): 建立乙個空佇列

enqueue(itme): 入隊, 將元素新增到隊尾

dequeue(): 出隊, 刪除隊首元素並返回

is_empty(): 判斷佇列是否為空

sise(): 返回佇列中的元素個數

思路: 用 list 作為底層, 約定, 最左端為隊尾, 最右端為隊首

"""class queue:

def __init__(self):

self.items =

def enqueue(self, item):

"""新增元素到隊尾"""

self.items.insert(0, item)

def dequeue(self):

"""刪除隊首元素並返回"""

return self.items.pop()

def is_empty(self):

return self.items ==

def size(self):

return len(self.items)

if __name__ == '__main__':

q = queue()

for i in range(1,6):

q.enqueue(i)

print(q.size())

print(q.dequeue())

print(q.dequeue())

print(q.is_empty())

"""

deque

雙端佇列被構造為項的集合, 可以從隊首或隊尾任意一段增刪元素.

deque(): 建立乙個新的deque

add_front(item): 從隊首新增元素

add_rear(item): 從隊尾新增元素

remove_front(item): 從隊首刪除元素, 並返回

remove_rear(item): 從隊尾刪除元素, 並返回

is_empty(): 判斷佇列是否空

size(): 返回佇列中的項數

思路: 用 list 作為底層架構, 並約定, 最左邊為對尾, 最右側為對首

"""class deque:

def __init__(self):

self.items =

def add_front(self, item):

"""隊首新增元素"""

def remove_front(self):

"""隊首刪除元素"""

return self.items.pop()

def add_rear(self, item):

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

self.items.insert(0, item)

def remove_rear(self):

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

return self.items.pop(0)

def is_empty(self):

return self.items ==

def size(self):

return len(self.items)

if __name__ == '__main__':

dq = deque()

for i in range(3):

dq.add_front(i)

print(dq.size())

dq.add_rear(-1)

print(dq.remove_front())

print(dq.size())

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...