本文实例讲述了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
36
37
38
39
40
41
42
|
#! /usr/bin/env python
#coding=utf-8
class Queue( object ):
def __init__( self ,size):
self .size = size
self .head = - 1 #初始化队头
self .tail = - 1 #初始化队尾
self .queue = []
def EnQueue( self ,x):
if self .IsFull(): #如果试图往满队列插入元素,则发生上溢
raise Exception( "overflow !" )
else :
self .queue.append(x)
self .tail + = 1 #往队列中加入元素是在尾部进行
def DeQueue( self ):
if self .IsEmpty(): #如果试图从空队列删除元素,则发生下溢
raise Exception( "underflow !" )
else :
self .head + = 1 #从队列中删除元素在队头进行,将队头后移
return self .queue.pop( 0 ) #利用内建函数pop()将队头弹出
def IsFull( self ): #判断队列满
#return (self.tail+1)%self.size == self.head
return self .tail - self .head + 1 = = self .size
def IsEmpty( self ): #判断队列空!!!
return self .head = = self .tail
if __name__ = = '__main__' :
print "服务器之家测试结果:"
q = Queue( 10 )
for i in range ( 3 ):
q.EnQueue(i)
print q.queue
print q.DeQueue()
print q.queue
print q.DeQueue()
print q.IsEmpty()
print q.DeQueue()
print q.IsEmpty()
print q.queue
for i in range ( 9 ):
q.EnQueue(i)
print q.queue
print q.IsFull()
|
运行结果:
希望本文所述对大家Python程序设计有所帮助。
原文链接:http://blog.csdn.net/will130/article/details/45288953