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实现斐波那契数列的方法示例
Jan 12 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python机器学习之神经网络实现
Oct 13 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
python django 原生sql 获取数据的例子
Aug 14 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
Jan 21 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
opencv python图像梯度实例详解
Feb 04 Python
python多线程实现同时执行两个while循环的操作
May 02 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
Elasticsearch 聚合查询和排序
Apr 19 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 Smarty模板生成html文档的方法
2010/04/12 PHP
php获取操作系统语言代码
2013/11/04 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
奇妙的js
2007/09/24 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python 调用有道api接口的方法
2019/01/03 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
.NET方向面试题
2014/11/20 面试题
英文版银行求职信
2013/10/09 职场文书
产品开发计划书
2014/04/27 职场文书
建筑结构施工求职信
2014/07/11 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
党员自评材料范文
2014/12/17 职场文书
介绍信模板
2015/01/31 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书