python队列原理及实现方法示例


Posted in Python onNovember 27, 2019

本文实例讲述了python队列原理及实现方法。分享给大家供大家参考,具体如下:

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,总是在队列最后。这也比较符合我们通常生活中的习惯,排在第一个的优先出列,最后来的当然排在队伍最后。

队列的实现

同栈一样,队列也可以用顺序表或者链表实现。

操作

  • Queue() 创建一个空的队列
  • enqueue(item) 往队列中添加一个item元素
  • dequeue() 从队列头部删除一个元素
  • is_empty() 判断一个队列是否为空
  • size() 返回队列的大小

示例

class Queue(object):
  """队列"""
  def __init__(self):
    self.items = []
  def is_empty(self):
    return self.items == []
  def enqueue(self, item):
    """进队列"""
    self.items.insert(0,item)
  def dequeue(self):
    """出队列"""
    return self.items.pop()
  def size(self):
    """返回大小"""
    return len(self.items)
if __name__ == "__main__":
  q = Queue()
  q.enqueue("hello")
  q.enqueue("world")
  q.enqueue("itcast")
  print q.size()
  print q.dequeue()
  print q.dequeue()
  print q.dequeue()

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

Python 相关文章推荐
python如何在终端里面显示一张图片
Aug 17 Python
python实现扫描日志关键字的示例
Apr 28 Python
Python模拟简单电梯调度算法示例
Aug 20 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
简单了解django缓存方式及配置
Jul 19 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
python实现KNN分类算法
Oct 16 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 #Python
python双端队列原理、实现与使用方法分析
Nov 27 #Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 #Python
OpenCV+Python--RGB转HSI的实现
Nov 27 #Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 #Python
python的range和linspace使用详解
Nov 27 #Python
python定间隔取点(np.linspace)的实现
Nov 27 #Python
You might like
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
this和执行上下文实现代码
2010/07/01 Javascript
js字符串转成JSON
2013/11/07 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
微信小程序开发摇一摇功能
2019/11/22 Javascript
Python修改Excel数据的实例代码
2013/11/01 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python功能键的读取方法
2015/05/28 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python实现FM算法解析
2019/06/18 Python
Python实现微信机器人的方法
2019/09/06 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
python入门之基础语法学习笔记
2020/02/08 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
2015年管理人员工作总结
2015/05/13 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
python办公自动化之excel的操作
2021/05/23 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android