Python隊列的定義與使用方法示例
本文實(shí)例講述了Python隊列的定義與使用方法。分享給大家供大家參考,具體如下:
雖然Python有自己的隊列模塊,我們只需要在使用時引入該模塊就行,但是為了更好的理解隊列,自己將隊列實(shí)現(xiàn)了一下。
隊列是一種數(shù)據(jù)結(jié)構(gòu),它的特點(diǎn)是先進(jìn)先出,也就是說隊尾添加一個元素,隊頭移除一個元素,類似于商場排隊結(jié)賬,先來的人先接賬,后來的排在隊尾。在我們?nèi)粘I钪校l(fā)送短信就會用到隊列。下面是Python實(shí)現(xiàn)隊列的代碼:
#!/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)
#獲取隊列的當(dāng)前長度
def getSize(self) :
return len(self.quene)
#入隊,如果隊列滿了返回-1或拋出異常,否則將元素插入隊列尾
def enqueue(self, items) :
if self.isfull() :
return -1
#raise Exception("Queue is full")
self.queue.append(items)
#出隊,如果隊列空了返回-1或拋出異常,否則返回隊列頭元素并將其從隊列中移除
def dequeue(self) :
if self.isempty() :
return -1
#raise Exception("Queue is empty")
firstElement = self.queue[0]
self.queue.remove(firstElement)
return firstElement
#判斷隊列滿
def isfull(self) :
if len(self.queue) == self.size :
return True
return False
#判斷隊列空
def isempty(self) :
if len(self.queue) == 0 :
return True
return False
下面是該隊列類.py文件的測試代碼:
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()
測試結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
- python實(shí)現(xiàn)堆棧與隊列的方法
- python隊列queue模塊詳解
- Python實(shí)現(xiàn)簡單多線程任務(wù)隊列
- 詳解Python中的四種隊列
- Python實(shí)現(xiàn)優(yōu)先級隊列結(jié)構(gòu)的方法詳解
- 棧和隊列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)
- python隊列Queue的詳解
- Python多線程和隊列操作實(shí)例
- Python3 queue隊列模塊詳細(xì)介紹
- python 隊列詳解及實(shí)例代碼
- Python實(shí)現(xiàn)隊列的方法
- python 隊列基本定義與使用方法【初始化、賦值、判斷等】
相關(guān)文章
python神經(jīng)網(wǎng)絡(luò)slim常用函數(shù)訓(xùn)練保存模型
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用slim函數(shù)進(jìn)行模型的訓(xùn)練及保存模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
python3 批量獲取對應(yīng)端口服務(wù)的實(shí)例
今天小編就為大家分享一篇python3 批量獲取對應(yīng)端口服務(wù)的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python基于隨機(jī)采樣一至性實(shí)現(xiàn)擬合橢圓(優(yōu)化版)
這篇文章主要對上一版的Python基于隨機(jī)采樣一至性實(shí)現(xiàn)擬合橢圓的優(yōu)化,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的可以了解一下2022-11-11
python3+dlib實(shí)現(xiàn)人臉識別和情緒分析
本文通過具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識別以及情緒分析的方法,有需要的朋友參考下。2018-04-04

