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基础教程之缩进介绍
Aug 29 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
Python numpy中矩阵的基本用法汇总
Feb 12 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
python实现猜单词游戏
May 22 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
python判断变量是否为列表的方法
Sep 17 Python
Python中对象的比较操作==和is区别详析
Feb 12 Python
Python访问Redis的详细操作
Jun 26 Python
python 远程执行命令的详细代码
Feb 15 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 批量删除 sql语句
2009/06/05 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
python 获取文件列表(或是目录例表)
2009/03/25 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
python计算文本文件行数的方法
2015/07/06 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
python中append函数用法讲解
2020/12/11 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
实习推荐信
2014/05/10 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
记者节感言
2015/08/03 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python