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编写爬虫的基本模块及框架使用指南
Jan 20 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
Python应用领域和就业形势分析总结
May 14 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Python创建数字列表的示例
Nov 28 Python
Python基于QQ邮箱实现SSL发送
Apr 26 Python
Python 如何实现数据库表结构同步
Sep 29 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 Python
Python爬虫之爬取最新更新的小说网站
May 06 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
学习ExtJS Column布局
2009/10/08 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
Json解析的方法小结
2016/06/22 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
详解JavaScript的变量
2019/04/04 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python安装scipy的步骤解析
2019/09/28 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
优良学风班总结材料
2014/02/08 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS
小程序实现侧滑删除功能
2022/06/25 Javascript