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 相关文章推荐
以windows service方式运行Python程序的方法
Jun 03 Python
学习python 之编写简单乘法运算题
Feb 27 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
Python中装饰器学习总结
Feb 10 Python
python单例模式实例解析
Aug 28 Python
pandas ix &iloc &loc的区别
Jan 10 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
Django框架用户注销功能实现方法分析
May 28 Python
pandas 实现将NaN转换为None
May 14 Python
Python关于OS文件目录处理的实例分享
May 23 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
php上传文件常见问题总结
2015/02/03 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
angular 服务随记小结
2019/05/06 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python的Flask框架的简介和安装方法
2015/11/13 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
质检员岗位职责
2013/12/17 职场文书
物业招聘计划书
2014/01/10 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
文秘档案管理岗位职责
2014/03/06 职场文书
春节联欢会主持词
2014/03/24 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
高二语文教学反思
2016/02/16 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
php修改word的实例方法
2021/11/17 PHP
Java中try catch处理异常示例
2021/12/06 Java/Android