Python实现基本数据结构中队列的操作方法示例


Posted in Python onDecember 04, 2017

本文实例讲述了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 "三水点靠木测试结果:"
  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实现基本数据结构中队列的操作方法示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
python匹配两个短语之间的字符实例
Dec 25 Python
Django的models模型的具体使用
Jul 15 Python
简单分析python的类变量、实例变量
Aug 23 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
python函数不定长参数使用方法解析
Dec 14 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 #Python
Python内置函数—vars的具体使用方法
Dec 04 #Python
Python实现基本数据结构中栈的操作示例
Dec 04 #Python
Python实现多进程共享数据的方法分析
Dec 04 #Python
Python数据结构之栈、队列的实现代码分享
Dec 04 #Python
关于Python数据结构中字典的心得
Dec 04 #Python
python Flask实现restful api service
Dec 04 #Python
You might like
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
php Session无效分析资料整理
2016/11/29 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
Node.js实现数据推送
2016/04/14 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
express.js中间件说明详解
2019/03/19 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
Python将字符串常量转化为变量方法总结
2019/03/17 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
Python内存映射文件读写方式
2020/04/24 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
金融专业毕业生推荐信
2013/11/26 职场文书
运动会获奖感言
2014/02/11 职场文书
国窖1573广告词
2014/03/21 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
大学英语专业求职信
2014/06/21 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
家电创业计划书
2019/08/05 职场文书
Python matplotlib绘制雷达图
2022/04/13 Python