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的lambda匿名函数的简单介绍
Apr 25 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
浅谈Python使用Bottle来提供一个简单的web服务
Dec 27 Python
Python实现多属性排序的方法
Dec 05 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
对Python发送带header的http请求方法详解
Jan 02 Python
python爬虫之自制英汉字典
Jun 24 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
python适合做数据挖掘吗
Jun 16 Python
详解python程序中的多任务
Sep 16 Python
pytorch实现ResNet结构的实例代码
May 17 Python
pytorch 实现多个Dataloader同时训练
May 29 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数组的概述及分类与声明代码演示
2013/02/26 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php上传文件常见问题总结
2015/02/03 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python获取代码运行时间的实例代码
2018/06/11 Python
python单例模式实例解析
2018/08/28 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
保护水资源的标语
2014/06/17 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2015元旦标语横幅
2014/12/09 职场文书
唐山大地震的观后感
2015/06/05 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript