欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 隊(duì)列基本定義與使用方法【初始化、賦值、判斷等】

 更新時(shí)間:2019年10月24日 09:37:32   作者:鯨落丶  
這篇文章主要介紹了python 隊(duì)列基本定義與使用方法,結(jié)合實(shí)例形式分析了Python隊(duì)列的定義、初始化、賦值、判斷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python 隊(duì)列基本定義與使用方法。分享給大家供大家參考,具體如下:

隊(duì)列的特征是:先進(jìn)先出

應(yīng)用場(chǎng)景:消息通信、多進(jìn)程間的協(xié)同、多線程間的協(xié)同等

在隊(duì)列中需要設(shè)計(jì)的實(shí)例屬性:head節(jié)點(diǎn)、tail節(jié)點(diǎn)

需要設(shè)計(jì)的實(shí)例方法有兩個(gè):分別是入隊(duì)隊(duì)列enqueue和出隊(duì)隊(duì)列dequeue

# -*- coding:utf-8 -*-
#! python3
class Node(object):   #節(jié)點(diǎn),包括兩個(gè)屬性,一個(gè)是節(jié)點(diǎn)的值,一個(gè)是節(jié)點(diǎn)的下一個(gè)指向
  def __init__(self,value):
    self.value = value  #節(jié)點(diǎn)的值
    self.next = None   #節(jié)點(diǎn)的下一個(gè)指向
class Queue(object):    #隊(duì)列這個(gè)類(lèi)
  def __init__(self):   #初始化這個(gè)隊(duì)列
    self.first = None   #隊(duì)列的首尾指向的節(jié)點(diǎn)都是None,初始化
    self.last = None
  def enter(self,n):
    packNode = Node(n)   #創(chuàng)建Node新節(jié)點(diǎn)實(shí)例,值為n
    if self.first == None: #如果首指向?yàn)榭?
      self.first = packNode    #將首指向的節(jié)點(diǎn)賦為傳進(jìn)來(lái)的節(jié)點(diǎn)
      self.last = self.first   #并且將尾指向的節(jié)點(diǎn)賦為
    else:
      self.last.next = packNode    #如果隊(duì)列不為空,就將新的節(jié)點(diǎn)賦值到目前l(fā)ast的下一個(gè)位置
      self.last = packNode      #然后移動(dòng)last指向,將last指向到剛才新增的節(jié)點(diǎn)
  def quit(self):
    if self.first == None:
      return None
    else:
      tmp = self.first.value     #如果隊(duì)列中存在值,則把隊(duì)列中第一個(gè)的值賦值給tmp
      self.first = self.first.next  #將first的指向下一個(gè),變?yōu)閒irst指向
      return tmp
if __name__ == '__main__':
  print("------------隊(duì)列開(kāi)始--------")
  q = Queue()
  # n1 = Node(1)
  # n2 = Node(2)
  # n3 = Node(3)
  q.enter(1)
  q.enter(2)
  q.enter(3)
  print(q.quit())
  print(q.quit())
  print(q.quit())
  # print(q)

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

------------隊(duì)列開(kāi)始--------
1
2
3

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

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

相關(guān)文章

  • python3實(shí)現(xiàn)ftp服務(wù)功能(服務(wù)端 For Linux)

    python3實(shí)現(xiàn)ftp服務(wù)功能(服務(wù)端 For Linux)

    這篇文章主要介紹了python3實(shí)現(xiàn)ftp服務(wù)功能,服務(wù)端 For Linux,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • pandas 選擇某幾列的方法

    pandas 選擇某幾列的方法

    今天小編就為大家分享一篇pandas 選擇某幾列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python?PDF轉(zhuǎn)化wolrd代碼的寫(xiě)法小結(jié)

    Python?PDF轉(zhuǎn)化wolrd代碼的寫(xiě)法小結(jié)

    將PDF文件轉(zhuǎn)換為Word文檔的過(guò)程通常需要使用一些外部庫(kù)來(lái)實(shí)現(xiàn),因?yàn)镻ython本身并不直接支持這種轉(zhuǎn)換,這篇文章主要介紹了Python?PDF轉(zhuǎn)化wolrd代碼的寫(xiě)法小結(jié),需要的朋友可以參考下
    2024-06-06
  • python實(shí)現(xiàn)數(shù)獨(dú)算法實(shí)例

    python實(shí)現(xiàn)數(shù)獨(dú)算法實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)數(shù)獨(dú)算法,實(shí)例分析了Python數(shù)獨(dú)算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • 基礎(chǔ)語(yǔ)音識(shí)別-食物語(yǔ)音識(shí)別baseline(CNN)

    基礎(chǔ)語(yǔ)音識(shí)別-食物語(yǔ)音識(shí)別baseline(CNN)

    這篇文章主要介紹了一個(gè)基礎(chǔ)語(yǔ)音識(shí)別題目-食物語(yǔ)音識(shí)別baseline(CNN),代碼詳細(xì)嗎,對(duì)于想要學(xué)習(xí)語(yǔ)音識(shí)別的朋友可以參考下
    2021-04-04
  • python常用排序算法的實(shí)現(xiàn)代碼

    python常用排序算法的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python常用排序算法的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Django框架安裝及項(xiàng)目創(chuàng)建過(guò)程解析

    Django框架安裝及項(xiàng)目創(chuàng)建過(guò)程解析

    這篇文章主要介紹了Django框架安裝及項(xiàng)目創(chuàng)建過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法

    Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法,實(shí)例分析了tab自動(dòng)補(bǔ)全的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python3 實(shí)現(xiàn)遞歸求階乘

    Python3 實(shí)現(xiàn)遞歸求階乘

    這篇文章主要介紹了Python3 實(shí)現(xiàn)遞歸求階乘的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • OpenCV-Python使用cv2實(shí)現(xiàn)傅里葉變換

    OpenCV-Python使用cv2實(shí)現(xiàn)傅里葉變換

    在OpenCV中,我們通過(guò)cv2.dft()來(lái)實(shí)現(xiàn)傅里葉變換,使用cv2.idft()來(lái)實(shí)現(xiàn)逆傅里葉變換。本文就詳細(xì)的介紹一下這兩種用法,感興趣的可以了解一下
    2021-06-06

最新評(píng)論