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实现把回车符\r\n转换成\n
Apr 23 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python闭包实现计数器的方法
May 05 Python
python实现图像识别功能
Jan 29 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
python画图--输出指定像素点的颜色值方法
Jul 03 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
Python实现序列化及csv文件读取
Jan 19 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
python解包用法详解
Feb 17 Python
Python学习之os包使用教程详解
Mar 21 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数据缓存技术
2007/02/14 PHP
php xml 入门学习资料
2011/01/01 PHP
PHP多个版本的分析解释
2011/07/21 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
python操作gmail实例
2015/01/14 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
python WindowsError的错误代码详解
2017/07/23 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python读写文件基础知识点
2019/06/10 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
python中id函数运行方式
2020/07/03 Python
木工主管岗位职责
2013/12/08 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
烟台的海导游词
2015/02/02 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
python lambda 表达式形式分析
2022/04/03 Python