Python 是一种面向对象解释型计算机程序设计语言, 由 Guido van Rossum 于 1989 年底发明, 第一个公开发行版发行于 1991 年 Python 语法简洁而清晰, 具有丰富和强大的类库它常被昵称为胶水语言, 它能够把用其他语言制作的各种模块 (尤其是 C/C++) 很轻松地联结在一起
这篇文章主要介绍了 Python 实现基本数据结构中队列的操作方法, 结合实例形式演示了 Python 针对数据结构中队列的初始化插入删除判断队列满及队列空等相关操作技巧, 需要的朋友可以参考下
本文实例讲述了 Python 实现基本数据结构中队列的操作方法分享给大家供大家参考, 具体如下:
- #! /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 "PHPERZ 测试结果:"
- 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://www.phperz.com/article/18/0216/361490.html