最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)隊列的方法示例小結(jié)【數(shù)組,鏈表】

 更新時間:2020年02月22日 11:31:16   作者:授我以驢  
這篇文章主要介紹了Python實現(xiàn)隊列的方法,結(jié)合實例形式分析了Python基于數(shù)組和鏈表實現(xiàn)隊列的相關(guān)操作技巧與相關(guān)注意事項,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)隊列的方法。分享給大家供大家參考,具體如下:

Python實現(xiàn)隊列

隊列(FIFO),添加元素在隊列尾,刪除元素在隊列頭操作

  • 列表實現(xiàn)隊列:利用python列表方法

代碼如下:

# 列表實現(xiàn)隊列
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)

  • 鏈表實現(xiàn)隊列:

隊列的鏈表實現(xiàn)中,隊列的入隊(enqueue)操作類似于鏈表在表尾添加元素;隊列的出隊(dequeue)操作類似于在鏈表頭部刪除元素

隊列初始化中,定義兩個特殊節(jié)點,隊列頭(head)和隊列尾(tail),方便進行操作

代碼如下:

# 鏈表實現(xiàn)隊列
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()

運行結(jié)果:

隊列長度為: 4
出隊列元素為: 1
出隊列元素為: 2

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python調(diào)用matlab的方法詳解

    python調(diào)用matlab的方法詳解

    這篇文章主要為大家介紹了python調(diào)用matlab,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • flask中響應錯誤的處理及errorhandler的應用方式

    flask中響應錯誤的處理及errorhandler的應用方式

    這篇文章主要介紹了flask中響應錯誤的處理及errorhandler的應用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python遠程登錄代碼

    python遠程登錄代碼

    因為 python 已內(nèi)建了一個 pop3 的函式庫,所以我們直接用它來完成郵件的下載和處理。事實上, 如果我們不用 poplib 的話,我們還是可以完成那個例子中的所有作業(yè):就是通過模擬 telnet的協(xié)定。
    2008-04-04
  • Python對象與json數(shù)據(jù)的轉(zhuǎn)換問題實例詳解

    Python對象與json數(shù)據(jù)的轉(zhuǎn)換問題實例詳解

    JSON(JavaScript?Object?Notation)?是一種輕量級的數(shù)據(jù)交換格式,很受廣大用戶喜愛,今天通過本文給大家介紹Python對象與json數(shù)據(jù)的轉(zhuǎn)換問題,需要的朋友可以參考下
    2022-07-07
  • 一文弄懂Pytorch的DataLoader, DataSet, Sampler之間的關(guān)系

    一文弄懂Pytorch的DataLoader, DataSet, Sampler之間的關(guān)系

    這篇文章主要介紹了一文弄懂Pytorch的DataLoader, DataSet, Sampler之間的關(guān)系,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Python?推導式、生成器與切片問題解決思路

    Python?推導式、生成器與切片問題解決思路

    這篇文章主要介紹了Python?推導式、生成器與切片,生成器實質(zhì)就是迭代器,通過本文學習能夠理解并掌握推導式、切片等用法并能解決實際問題,需要的朋友可以參考下
    2022-03-03
  • Python中判斷子串存在的性能比較及分析總結(jié)

    Python中判斷子串存在的性能比較及分析總結(jié)

    這篇文章主要給大家總結(jié)介紹了Python中判斷子串存在的性能比較及分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Python中g(shù)lobal關(guān)鍵字的用法詳解

    Python中g(shù)lobal關(guān)鍵字的用法詳解

    Python是一種簡單而強大的編程語言,提供了許多功能和語法來幫助開發(fā)人員編寫高效的代碼,其中一個常用的功能是使用global關(guān)鍵字來在函數(shù)內(nèi)部訪問和修改全局變量,在本文中,我們將深入探討Python中g(shù)lobal關(guān)鍵字的用法,以及使用它的一些最佳實踐
    2023-12-12
  • 最新評論

    长宁县| 青田县| 长子县| 怀柔区| 琼海市| 水城县| 吉隆县| 水富县| 大方县| 河北区| 依安县| 依安县| 徐闻县| 香港| 澄江县| 邵阳县| 武川县| 岫岩| 光泽县| 抚宁县| 乌兰县| 金寨县| 铜川市| 阿克| 黔江区| 屏东市| 鸡东县| 满城县| 密山市| 永定县| 仪征市| 麻阳| 长治县| 雷山县| 隆子县| 越西县| 南安市| 齐齐哈尔市| 乐平市| 渝中区| 二连浩特市|