久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Python隊(duì)列的定義與使用方法

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2017-06-28 18:14┆點(diǎn)擊:

雖然Python有自己的隊(duì)列模塊,我們只需要在使用時(shí)引入該模塊就行,但是為了更好的理解隊(duì)列,自己將隊(duì)列實(shí)現(xiàn)了一下。

隊(duì)列是一種數(shù)據(jù)結(jié)構(gòu),它的特點(diǎn)是先進(jìn)先出,也就是說隊(duì)尾添加一個(gè)元素,隊(duì)頭移除一個(gè)元素,類似于商場排隊(duì)結(jié)賬,先來的人先接賬,后來的排在隊(duì)尾。在我們?nèi)粘I钪校l(fā)送短信就會(huì)用到隊(duì)列。下面是Python實(shí)現(xiàn)隊(duì)列的代碼:

#!/usr/bin/python #coding=utf-8 class Queue(object) : def __init__(self, size) : self.size = size self.queue = [] def __str__(self) : return str(self.queue) #獲取隊(duì)列的當(dāng)前長度 def getSize(self) : return len(self.quene) #入隊(duì),如果隊(duì)列滿了返回-1或拋出異常,否則將元素插入隊(duì)列尾 def enqueue(self, items) : if self.isfull() : return -1 #raise Exception("Queue is full") self.queue.append(items) #出隊(duì),如果隊(duì)列空了返回-1或拋出異常,否則返回隊(duì)列頭元素并將其從隊(duì)列中移除 def dequeue(self) : if self.isempty() : return -1 #raise Exception("Queue is empty") firstElement = self.queue[0] self.queue.remove(firstElement) return firstElement #判斷隊(duì)列滿 def isfull(self) : if len(self.queue) == self.size : return True return False #判斷隊(duì)列空 def isempty(self) : if len(self.queue) == 0 : return True return False

下面是該隊(duì)列類.py文件的測(cè)試代碼:

if __name__ == '__main__' : queueTest = Queue(10) for i in range(10) : queueTest.enqueue(i) print queueTest.isfull() print queueTest print queueTest.getSize() for i in range(5) : print queueTest.dequeue() print queueTest.isempty() print queueTest print queueTest.getSize()

測(cè)試結(jié)果:

Python隊(duì)列的定義與使用方法 三聯(lián)