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 相关文章推荐
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
Python实现学校管理系统
Jan 11 Python
用Python进行简单图像识别(验证码)
Jan 19 Python
python3+PyQt5实现柱状图
Apr 24 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
Python读取JSON数据操作实例解析
May 18 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
自学python用什么系统好
Jun 23 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
pandas 按日期范围筛选数据的实现
Feb 20 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实现与ASP Banner组件相似的类
2006/10/09 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
php数组去除空值函数分享
2015/02/02 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
input按钮的事件处理大全
2010/12/10 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
node.js中axios使用心得总结
2017/11/29 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
PyQt实现界面翻转切换效果
2018/04/20 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
django 微信网页授权登陆的实现
2019/07/30 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
django实现模型字段动态choice的操作
2020/04/01 Python
django教程如何自学
2020/07/31 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
营业员演讲稿
2013/12/30 职场文书
家长给学校的建议书
2014/05/15 职场文书
文明旅游倡议书
2015/04/28 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle