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

Python數(shù)據(jù)結(jié)構(gòu)與算法中的隊(duì)列詳解(2)

 更新時(shí)間:2022年03月09日 16:52:51   作者:姜學(xué)遷  
這篇文章主要為大家詳細(xì)介紹了Python中的隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

傳土豆

隊(duì)列的一個(gè)典型方法是模擬需要以 FIFO 方式管理數(shù)據(jù)的真實(shí)場景??紤]這樣一個(gè)游戲:傳土豆。在這個(gè)游戲中,成員們圍成一圈,并依次盡可能快地傳遞一個(gè)土豆。在某個(gè)時(shí)刻,大家停止傳遞,此時(shí)手里有土豆的成員就得退出游戲。 重復(fù)上述過程,直到只剩下一個(gè)成員。

在這里插入圖片描述

我們將針對傳土豆游戲?qū)崿F(xiàn)通用的模擬程序。該程序接受一個(gè)名字列表和一個(gè)用于計(jì)數(shù)的常量 num ,并且返回最后剩下的那個(gè)人的名字。

我們使用隊(duì)列來模擬一個(gè)環(huán)。即假設(shè)握著土豆的人位于隊(duì)列的頭部。在模擬傳土豆的過程中,程序?qū)⑦@個(gè)人的名字移出隊(duì)列,然后立刻將其插入隊(duì)列的尾部。隨后,這個(gè)人會(huì)一直等待,直到再次到達(dá)隊(duì)列的頭部。在出列和入列 num 次之后,此時(shí)位于隊(duì)列頭部的人出局,新一輪游戲開始。如此反復(fù),直到隊(duì)列中只剩下一個(gè)名字(即隊(duì)列的大小為 1)。

class Queue:
    def __init__(self):
        self.items = []            # 構(gòu)建空隊(duì)列
    def isEmpty(self):
        return self.items ==[]     # 判斷是否為空
    def enqueue(self,item):
        self.items.insert(0, item) # 在隊(duì)列尾部(列表左端)插入元素
    def dequeue(self):
        return self.items.pop()    # 在隊(duì)列頭部(列表右端)移出元素
    def size(self):
        return len(self.items)     # 隊(duì)列(列表)長度
    def look(self):
        print(self.items)
        
def transmitPotato(nameList, num):
    simqueue = Queue()     # 創(chuàng)建隊(duì)列
    for name in nameList:  # 遍歷成員姓名列表
        simqueue.enqueue(name)   # 成員姓名入隊(duì)列
    while simqueue.size() > 1:  # 當(dāng)隊(duì)列元素個(gè)數(shù)大于1時(shí) 循環(huán)執(zhí)行
        for i in range(num):  # 循環(huán)num次(土豆傳遞num次)
            # 成員姓名從隊(duì)頭轉(zhuǎn)換至隊(duì)尾
            simqueue.enqueue(simqueue.dequeue())
        # 成員姓名出隊(duì)(此成員淘汰出局)
        simqueue.dequeue()
    return simqueue.dequeue()  # 返回隊(duì)列里最后剩下的名字

調(diào)用 transmitPotato 函數(shù),使用 7 作為計(jì)數(shù)常量,將得到以下結(jié)果:

在這里插入圖片描述

注意,在上例中,計(jì)數(shù)常量大于列表中的名字個(gè)數(shù)。 這不會(huì)造成問題,因?yàn)殛?duì)列模擬了一個(gè)環(huán)。同時(shí)需要注意,當(dāng)名字列表載入隊(duì)列時(shí),列表中的第一個(gè)名字出現(xiàn)在隊(duì)列的頭部。在上例中,小明是列表中的第一個(gè)元素,因此處在隊(duì)列的最前端。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!    

相關(guān)文章

  • 淺析Python中的縮進(jìn)錯(cuò)誤

    淺析Python中的縮進(jìn)錯(cuò)誤

    在編程中,我們經(jīng)常會(huì)遇到錯(cuò)誤,縮進(jìn)錯(cuò)誤是 Python 中最常見的錯(cuò)誤之一,它會(huì)使我們的代碼難以理解,并且難以調(diào)試,下面小編就來和大家簡單聊聊Python中的縮進(jìn)錯(cuò)誤吧
    2023-10-10
  • Python 實(shí)現(xiàn)Serial 與STM32J進(jìn)行串口通訊

    Python 實(shí)現(xiàn)Serial 與STM32J進(jìn)行串口通訊

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)Serial 與STM32J進(jìn)行串口通訊,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例

    Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例

    本文主要介紹了Python實(shí)現(xiàn)獲取亂序列表排序后的新下標(biāo)的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法示例

    Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法示例

    這篇文章主要介紹了Python自定義函數(shù)計(jì)算給定日期是該年第幾天的方法,結(jié)合具體實(shí)例形式分析了Python日期時(shí)間計(jì)算相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 采用Psyco實(shí)現(xiàn)python執(zhí)行速度提高到與編譯語言一樣的水平

    采用Psyco實(shí)現(xiàn)python執(zhí)行速度提高到與編譯語言一樣的水平

    這篇文章主要介紹了采用Psyco實(shí)現(xiàn)python執(zhí)行速度提高到與編譯語言一樣的水平的方法,是非常實(shí)用的Python第三方庫,需要的朋友可以參考下
    2014-10-10
  • Python中音頻處理庫pydub的使用教程

    Python中音頻處理庫pydub的使用教程

    這篇文章主要給大家介紹了關(guān)于Python中音頻處理庫pydub的使用教程,pydub是Python中用戶處理音頻文件的一個(gè)庫,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析

    Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析

    這篇文章主要介紹了Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析,包括使用線程模塊的簡單示例,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • python 批量壓縮圖片的腳本

    python 批量壓縮圖片的腳本

    用Python編寫的批量壓縮圖片的腳本,可以自定義壓縮質(zhì)量,有批量圖片壓縮需求的朋友可以直接拿來用
    2021-06-06
  • Python繪制3D圖形

    Python繪制3D圖形

    這篇文章主要介紹了Python繪制3D圖形,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2018-05-05
  • python連接mongodb密碼認(rèn)證實(shí)例

    python連接mongodb密碼認(rèn)證實(shí)例

    今天小編就為大家分享一篇python連接mongodb密碼認(rèn)證實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論

泰兴市| 海南省| 长垣县| 涿鹿县| 宁德市| 南充市| 清苑县| 五莲县| 潜江市| 新龙县| 深水埗区| 大渡口区| 班玛县| 阳城县| 长兴县| 南京市| 肥东县| 建昌县| 信宜市| 聂荣县| 冷水江市| 阳朔县| 扬州市| 乐平市| 庆安县| 珲春市| 大庆市| 循化| 柳江县| 桦南县| 古丈县| 应用必备| 邛崃市| 宁都县| 阿克陶县| 旺苍县| 启东市| 临武县| 汤原县| 海宁市| 民县|