蒲公英联盟提供ghost win10,ghost win7,xp,装机纯净版,64位旗舰版,绿色软件,免费软件下载基地!

当前位置:主页 > 教程 > 服务器类 >

先来的人先接账

来源:蒲公英系统┆发布时间:2018-10-31 13:09┆点击:

虽然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队列的定义与使用方法 三联

尚未注册畅言帐号,请到后台注册