濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue

詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue

熱門(mén)標(biāo)簽:激戰(zhàn)2地圖標(biāo)注 唐山智能外呼系統(tǒng)一般多少錢(qián) 海南400電話(huà)如何申請(qǐng) 廣告地圖標(biāo)注app 公司電話(huà)機(jī)器人 白銀外呼系統(tǒng) 哈爾濱ai外呼系統(tǒng)定制 騰訊外呼線(xiàn)路 陜西金融外呼系統(tǒng)

一、前言

隊(duì)列Queue是一種先進(jìn)先出(FIFO,F(xiàn)irst In First Out)的線(xiàn)性表。允許一端進(jìn)行插入(rear),對(duì)應(yīng)的另一段進(jìn)行刪除(front)。

本篇包含以下內(nèi)容:
(1)Queue的基本格式
(2)入隊(duì)列en_queue
(3)刪除數(shù)據(jù)函數(shù) de_queue

二、Queue的基本格式

class Queue():
    def __init__(self,size):
        self.size = size 
        self.front = -1 #設(shè)置front初始值,每出隊(duì)列一個(gè)數(shù)據(jù)就加 1
        self.rear = -1 #設(shè)置rear初始值,每入隊(duì)列一個(gè)數(shù)據(jù)就加 1
        self.queue = [] #隊(duì)列中數(shù)據(jù)的列表
        
    def display_queue(self): #打印隊(duì)列數(shù)據(jù)
        print(self.queue)

if __name__ == "__main__":
    queue = Queue(6) #設(shè)置隊(duì)列queue的空間大小
    queue.display_queue() #調(diào)用打印函數(shù)

三、入隊(duì)列函數(shù) en_queue

class Queue():
    def __init__(self,size):
        self.size = size
        self.front = -1
        self.rear = -1
        self.queue = []

    def en_queue(self,data):
        if self.rear >= (self.size -1): #當(dāng)入隊(duì)列數(shù)據(jù)數(shù)量大于隊(duì)列的size,提示queue is full!
            print("queue is full!")
            return 
        self.queue.append(data) #queue有空間就將數(shù)據(jù)入隊(duì)列
        self.rear += 1 #每入隊(duì)列一個(gè)數(shù)據(jù)就加 1

    def display_queue(self):
        print(self.queue)

if __name__ == "__main__":
    queue = Queue(6)
    queue.en_queue(0)
    queue.en_queue(1)
    queue.en_queue(2)
    queue.en_queue(3)
    queue.en_queue(4)
    queue.en_queue(5)
    queue.en_queue(6) #queue空間是 6,入隊(duì)列數(shù)據(jù)有 7 個(gè),提示queue is full!
    queue.display_queue()
    

執(zhí)行結(jié)果:

四、刪除數(shù)據(jù)函數(shù) de_queue

class Queue():
    def __init__(self,size):
        self.size = size
        self.front = -1
        self.rear = -1
        self.queue = []
    def en_queue(self,data):
        if self.rear >= (self.size -1):
            print("queue is full!")
            return 
        self.queue.append(data)
        self.rear += 1
    
    def de_queue(self):
        if  self.rear  0: #rear表示隊(duì)列中數(shù)據(jù)的多少,所以當(dāng)它小于0時(shí)說(shuō)明queue中沒(méi)有數(shù)據(jù)
            print("queue is empty!")
            return
        self.front += 1 #當(dāng)queue不為空時(shí),每出隊(duì)列一個(gè)數(shù)據(jù) front就加 1
        self.queue.pop(0) #刪除最先進(jìn)來(lái)的數(shù)據(jù)
        self.rear -= 1 #刪除一個(gè)數(shù)據(jù),隊(duì)列中的數(shù)據(jù)數(shù)量就要減 1

    def display_queue(self):
        print(self.queue)

if __name__ == "__main__":
    queue = Queue(6)
    queue.en_queue(0)
    queue.en_queue(1)
    queue.en_queue(2)
    queue.en_queue(3)
    queue.en_queue(4)
    queue.en_queue(5)
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue()
    queue.de_queue()
    queue.display_queue() #隊(duì)列中共有 6 個(gè)數(shù)據(jù),刪除 7 個(gè)數(shù)據(jù),所以會(huì)提示queue is empty!

執(zhí)行結(jié)果:

到此這篇關(guān)于詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue的文章就介紹到這了,更多相關(guān)python隊(duì)列Queue內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python機(jī)器學(xué)習(xí)入門(mén)(二)之Python數(shù)據(jù)理解
  • 詳解python數(shù)據(jù)結(jié)構(gòu)之棧stack
  • python數(shù)據(jù)類(lèi)型相關(guān)知識(shí)擴(kuò)展
  • Python數(shù)據(jù)類(lèi)型最全知識(shí)總結(jié)
  • python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例
  • python入門(mén)課程第四講之內(nèi)置數(shù)據(jù)類(lèi)型有哪些

標(biāo)簽:四川 惠州 鷹潭 黑龍江 黔西 益陽(yáng) 常德 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue》,本文關(guān)鍵詞  詳解,python,數(shù)據(jù)結(jié)構(gòu),之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    循化| 汶上县| 裕民县| 景东| 射洪县| 郧西县| 五常市| 伊金霍洛旗| 盘山县| 拉孜县| 南丹县| 手机| 榆中县| 惠水县| 教育| 永康市| 色达县| 方正县| 封丘县| 永德县| 遵义县| 澄江县| 永善县| 海淀区| 秦安县| 西城区| 中方县| 望谟县| 北流市| 从化市| 任丘市| 晴隆县| 韶关市| 吉林省| 岳池县| 济宁市| 辽宁省| 万州区| 武宣县| 江口县| 陆川县|