詳解python數(shù)據結構之隊列Queue
一、前言
隊列Queue是一種先進先出(FIFO,F(xiàn)irst In First Out)的線性表。允許一端進行插入(rear),對應的另一段進行刪除(front)。
本篇包含以下內容:
(1)Queue的基本格式
(2)入隊列en_queue
(3)刪除數(shù)據函數(shù) de_queue
二、Queue的基本格式
class Queue(): def __init__(self,size): self.size = size self.front = -1 #設置front初始值,每出隊列一個數(shù)據就加 1 self.rear = -1 #設置rear初始值,每入隊列一個數(shù)據就加 1 self.queue = [] #隊列中數(shù)據的列表 def display_queue(self): #打印隊列數(shù)據 print(self.queue) if __name__ == "__main__": queue = Queue(6) #設置隊列queue的空間大小 queue.display_queue() #調用打印函數(shù)
三、入隊列函數(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): #當入隊列數(shù)據數(shù)量大于隊列的size,提示queue is full! print("queue is full!") return self.queue.append(data) #queue有空間就將數(shù)據入隊列 self.rear += 1 #每入隊列一個數(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.en_queue(6) #queue空間是 6,入隊列數(shù)據有 7 個,提示queue is full! queue.display_queue()
執(zhí)行結果:
四、刪除數(shù)據函數(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表示隊列中數(shù)據的多少,所以當它小于0時說明queue中沒有數(shù)據 print("queue is empty!") return self.front += 1 #當queue不為空時,每出隊列一個數(shù)據 front就加 1 self.queue.pop(0) #刪除最先進來的數(shù)據 self.rear -= 1 #刪除一個數(shù)據,隊列中的數(shù)據數(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() #隊列中共有 6 個數(shù)據,刪除 7 個數(shù)據,所以會提示queue is empty!
執(zhí)行結果:
到此這篇關于詳解python數(shù)據結構之隊列Queue的文章就介紹到這了,更多相關python隊列Queue內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python?OpenCV實現(xiàn)圖像特征匹配示例詳解
這篇文章主要為大家介紹了python?OpenCV實現(xiàn)圖像特征匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04python如何使用python-docx調整Word文檔樣式
本文介紹了如何修改文字字體樣式、對齊樣式、行間距以及段前段后間距,并通過效果展示給出參考,適用于需要進行文檔編輯的讀者2024-09-09Win10 GPU運算環(huán)境搭建(CUDA10.0+Cudnn 7.6.5+pytroch1.2+tensorflow1.
熟悉深度學習的人都知道,深度學習是需要訓練的,本文主要介紹了Win10 GPU運算環(huán)境搭建,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09使用BeautifulSoup爬蟲程序獲取百度搜索結果的標題和url示例
這篇文章主要介紹了使用BeautifulSoup編寫了一段爬蟲程序獲取百度搜索結果的標題和url的示例,大家參考使用吧2014-01-01Pandas實現(xiàn)自定義Excel格式并導出多個sheet表
pandas默認整合XlsxWriter驅動,可以自動化處理excel操作,并提供公式、設置單元格格式、可視化分析圖片等操作,本文就來和大家詳細聊聊2023-05-05