本文实例讲述了Python队列的定义与使用方法。分享给大家供大家参考,具体如下:
虽然Python有自己的队列模块,我们只需要在使用时引入该模块就行,但是为了更好的理解队列,自己将队列实现了一下。
队列是一种数据结构,它的特点是先进先出,也就是说队尾添加一个元素,队头移除一个元素,类似于商场排队结账,先来的人先接账,后来的排在队尾。在我们日常生活中,发送短信就会用到队列。下面是Python实现队列的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/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文件的测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
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程序设计有所帮助。