虽然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()
测试结果:
本文章地址http://www.vzeo.com/news/xuetang/800419.html 由 友站网 编辑整理,转载请注明出处