Python隊(duì)列的定義與使用方法示例
本文實(shí)例講述了Python隊(duì)列的定義與使用方法。分享給大家供大家參考,具體如下:
雖然Python有自己的隊(duì)列模塊,我們只需要在使用時(shí)引入該模塊就行,但是為了更好的理解隊(duì)列,自己將隊(duì)列實(shí)現(xiàn)了一下。
隊(duì)列是一種數(shù)據(jù)結(jié)構(gòu),它的特點(diǎn)是先進(jìn)先出,也就是說(shuō)隊(duì)尾添加一個(gè)元素,隊(duì)頭移除一個(gè)元素,類(lèi)似于商場(chǎng)排隊(duì)結(jié)賬,先來(lái)的人先接賬,后來(lái)的排在隊(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)前長(zhǎng)度
def getSize(self) :
return len(self.quene)
#入隊(duì),如果隊(duì)列滿(mǎn)了返回-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ì)列滿(mǎn)
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ì)列類(lèi).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é)果:

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python實(shí)現(xiàn)堆棧與隊(duì)列的方法
- python隊(duì)列queue模塊詳解
- Python實(shí)現(xiàn)簡(jiǎn)單多線(xiàn)程任務(wù)隊(duì)列
- 詳解Python中的四種隊(duì)列
- Python實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列結(jié)構(gòu)的方法詳解
- 棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)
- python隊(duì)列Queue的詳解
- Python多線(xiàn)程和隊(duì)列操作實(shí)例
- Python3 queue隊(duì)列模塊詳細(xì)介紹
- python 隊(duì)列詳解及實(shí)例代碼
- Python實(shí)現(xiàn)隊(duì)列的方法
- python 隊(duì)列基本定義與使用方法【初始化、賦值、判斷等】
相關(guān)文章
Python基于sklearn庫(kù)的分類(lèi)算法簡(jiǎn)單應(yīng)用示例
這篇文章主要介紹了Python基于sklearn庫(kù)的分類(lèi)算法,結(jié)合簡(jiǎn)單實(shí)例形式分析了Python使用sklearn庫(kù)封裝樸素貝葉斯、K近鄰、邏輯回歸、SVM向量機(jī)等常見(jiàn)機(jī)器學(xué)習(xí)算法的分類(lèi)調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
python進(jìn)階教程之文本文件的讀取和寫(xiě)入
這篇文章主要介紹了python進(jìn)階教程之文本文件的讀取和寫(xiě)入,本文講解的是最基本的文件讀取和寫(xiě)入功能,需要的朋友可以參考下2014-08-08
Django-xadmin+rule對(duì)象級(jí)權(quán)限的實(shí)現(xiàn)方式
今天小編就為大家分享一篇Django-xadmin+rule對(duì)象級(jí)權(quán)限的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
python進(jìn)程池實(shí)現(xiàn)的多進(jìn)程文件夾copy器完整示例
這篇文章主要介紹了python進(jìn)程池實(shí)現(xiàn)的多進(jìn)程文件夾copy器,結(jié)合完整實(shí)例形式分析了Python基于多進(jìn)程與進(jìn)程池的文件操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11
Python參數(shù)類(lèi)型以及常見(jiàn)的坑詳解
這篇文章主要介紹了Python參數(shù)類(lèi)型以及常見(jiàn)的坑詳解,由于之前遇到過(guò)幾次有關(guān)于參數(shù)類(lèi)型的坑,以及經(jīng)常容易把一些參數(shù)類(lèi)型搞混淆,現(xiàn)在做一下有關(guān)參數(shù)類(lèi)型的總結(jié)記錄以及對(duì)之前踩坑經(jīng)歷的分析,需要的朋友可以參考下2019-07-07
Python使用enumerate獲取迭代元素下標(biāo)
這篇文章主要介紹了python使用enumerate獲取迭代元素下標(biāo),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02

