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 13 Python
Python中super函数的用法
Nov 17 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
教你用Python创建微信聊天机器人
Mar 31 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
python代码 输入数字使其反向输出的方法
Dec 22 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
Python 如何反方向迭代一个序列
Jul 28 Python
python简单利用字典破解zip文件口令
Sep 07 Python
pytorch显存一直变大的解决方案
Apr 08 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 mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php封装的验证码类分享
2017/02/26 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
jQuery JSON的解析方式分享
2011/04/05 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
详细介绍Python中的偏函数
2015/04/27 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
python读文件的步骤
2019/10/08 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
Flask处理Web表单的实现方法
2021/01/31 Python
小学国庆节活动方案
2014/02/11 职场文书
《匆匆》教学反思
2014/02/22 职场文书
高中生评语大全
2014/04/25 职场文书
主要负责人任命书
2014/06/06 职场文书
婚前协议书标准版
2014/10/19 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
python process模块的使用简介
2021/05/14 Python
Python Django ORM连表正反操作技巧
2021/06/13 Python
php访问对象中的成员的实例方法
2021/11/17 PHP
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang