python

超轻量级php框架startmvc

Python队列的定义与使用方法示例

更新时间:2020-05-03 09:00:02 作者:startmvc
本文实例讲述了Python队列的定义与使用方法。分享给大家供大家参考,具体如下:虽然Python

本文实例讲述了Python队列的定义与使用方法。分享给大家供大家参考,具体如下:

虽然Python有自己的队列模块,我们只需要在使用时引入该模块就行,但是为了更好的理解队列,自己将队列实现了一下。

队列是一种数据结构,它的特点是先进先出,也就是说队尾添加一个元素,队头移除一个元素,类似于商场排队结账,先来的人先接账,后来的排在队尾。在我们日常生活中,发送短信就会用到队列。下面是Python实现队列的代码:


#!/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)
 #获取队列的当前长度
 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()

测试结果:

Python 队列