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发送伪造的arp请求
Jan 09 Python
python生成指定长度的随机数密码
Jan 23 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
Python生成器generator用法示例
Aug 10 Python
Python递归函数实例讲解
Feb 27 Python
python面试题之列表声明实例分析
Jul 08 Python
基于python实现从尾到头打印链表
Nov 02 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
Python MNIST手写体识别详解与试练
Nov 07 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实现QQ登录实例代码
2016/01/14 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
dojo 之基础篇
2007/03/24 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
女娲补天教学反思
2014/02/05 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
2014年平安夜寄语
2014/12/08 职场文书
教师党员承诺书2015
2015/01/21 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
Python中rapidjson参数校验实现
2021/07/25 Python