中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python實現隊列

發布時間:2021-03-23 13:45:55 來源:億速云 閱讀:116 作者:小新 欄目:開發技術

這篇文章主要介紹怎么使用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實現隊列”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌兰浩特市| 乾安县| 怀化市| 桐柏县| 平原县| 南部县| 自贡市| 宜章县| 株洲县| 五台县| 花莲市| 临澧县| 淄博市| 盐池县| 清丰县| 峡江县| 长子县| 万载县| 封丘县| 于都县| 岳阳市| 额济纳旗| 金阳县| 扶风县| 民权县| 江北区| 榆中县| 申扎县| 陈巴尔虎旗| 临澧县| 泰宁县| 嵊泗县| 三亚市| 镇安县| 襄汾县| 左云县| 上思县| 霍城县| 舟曲县| 治县。| 永善县|