您好,登錄后才能下訂單哦!
這篇文章主要介紹怎么使用Python實現隊列,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Python實現隊列
隊列(FIFO),添加元素在隊列尾,刪除元素在隊列頭操作
列表實現隊列:利用python列表方法
代碼如下:
# 列表實現隊列 class listQueue(object): def __init__(self): self.items = [] def is_empty(self): return self.items == None def size(self): return len(self.items) # 入隊 def enqueue(self, value): return self.items.append(value) # 出隊 def dequeue(self): if self.is_empty(): raise Exception("queue is empty !") return self.items.pop(0)
鏈表實現隊列:
隊列的鏈表實現中,隊列的入隊(enqueue)操作類似于鏈表在表尾添加元素;隊列的出隊(dequeue)操作類似于在鏈表頭部刪除元素
隊列初始化中,定義兩個特殊節點,隊列頭(head)和隊列尾(tail),方便進行操作
代碼如下:
# 鏈表實現隊列 class linkedQueue(object): class Node(object): def __init__(self, value=None): self.value = value self.next = None def __init__(self): self.head = None self.tail = None #self.head.next = self.tail self.length = 0 def is_empty(self): return self.length == 0 def size(self): return self.length def enqueue(self, value): node = self.Node(value) if self.is_empty(): self.head = node else: self.tail.next = node self.tail = node self.length += 1 def dequeue(self): if self.is_empty(): raise Exception("queue is empty !") item = self.head.value self.head = self.head.next self.length -= 1 print("出隊列元素為:",item) return item link = linkedQueue() link.enqueue(1) link.enqueue(2) link.enqueue(3) link.enqueue(4) print("隊列長度為:",link.size()) link.dequeue() link.dequeue()
運行結果:
隊列長度為: 4
出隊列元素為: 1
出隊列元素為: 2
以上是“怎么使用Python實現隊列”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。