本文實(shí)例講述了Python隊(duì)列的定義與使用方法。分享給大家供大家參考,具體如下:
雖然Python有自己的隊(duì)列模塊,我們只需要在使用時(shí)引入該模塊就行,但是為了更好的理解隊(duì)列,自己將隊(duì)列實(shí)現(xiàn)了一下。
隊(duì)列是一種數(shù)據(jù)結(jié)構(gòu),它的特點(diǎn)是先進(jìn)先出,也就是說隊(duì)尾添加一個(gè)元素,隊(duì)頭移除一個(gè)元素,類似于商場(chǎng)排隊(duì)結(jié)賬,先來的人先接賬,后來的排在隊(duì)尾。在我們?nèi)粘I钪校l(fā)送短信就會(huì)用到隊(duì)列。下面是Python實(shí)現(xiàn)隊(duì)列的代碼:
#!/usr/bin/python#coding=utf-8class 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é)果:

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選