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

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

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

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

Python實(shí)現(xiàn)隊(duì)列

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

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

代碼如下:

# 列表實(shí)現(xiàn)隊(duì)列
class listQueue(object):
  def __init__(self):
    self.items = []

  def is_empty(self):
    return self.items == None

  def size(self):
    return len(self.items)

  # 入隊(duì)
  def enqueue(self, value):
    return self.items.append(value)

  # 出隊(duì)
  def dequeue(self):
    if self.is_empty():
      raise Exception("queue is empty !")
    return self.items.pop(0)

  • 鏈表實(shí)現(xiàn)隊(duì)列:

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

隊(duì)列初始化中,定義兩個(gè)特殊節(jié)點(diǎn),隊(duì)列頭(head)和隊(duì)列尾(tail),方便進(jìn)行操作

代碼如下:

# 鏈表實(shí)現(xiàn)隊(duì)列
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("出隊(duì)列元素為:",item)
    return item

link = linkedQueue()
link.enqueue(1)
link.enqueue(2)
link.enqueue(3)
link.enqueue(4)
print("隊(duì)列長度為:",link.size())
link.dequeue()
link.dequeue()

運(yùn)行結(jié)果:

隊(duì)列長度為: 4
出隊(duì)列元素為: 1
出隊(duì)列元素為: 2

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

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

相關(guān)文章

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

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

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

    flask中響應(yīng)錯(cuò)誤的處理及errorhandler的應(yīng)用方式

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

    python遠(yuǎn)程登錄代碼

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

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

    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)系,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python?推導(dǎo)式、生成器與切片問題解決思路

    Python?推導(dǎo)式、生成器與切片問題解決思路

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

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

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

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

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

    冕宁县| 芮城县| 萍乡市| 荆门市| 子洲县| 镇江市| 恩平市| 高淳县| 九龙县| 石阡县| 壤塘县| 乐至县| 府谷县| 司法| 安福县| 淮阳县| 南投县| 临澧县| 苗栗市| 阆中市| 周口市| 上饶市| 巴马| 长治市| 会泽县| 瑞丽市| 新龙县| 安达市| 洱源县| 松阳县| 西乡县| 舒兰市| 江川县| 榆社县| 鄂州市| 伊宁市| 安仁县| 汝州市| 临城县| 井研县| 武川县|