队列(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队列及其实现相关推荐

  1. c++ 优先队列_什么是队列?(Python队列)

    什么是队列?(Python队列) 前言 上篇文章介绍了 Python 中的多线程​mp.weixin.qq.com .今天来介绍下编程中常会用到的一个数据结构 - 队列. 不知道大家是否还记得什么是数 ...

  2. python队列只能一个个读取吗_python队列Queue的详解

    Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...

  3. python队列实现_Python 数据结构之队列的实现

    Python 队列 Queue 队列是一种先进先出(FIFO)的数据类型, 新的元素通过 入队 的方式添加进 Queue 的末尾, 出队 就是从 Queue 的头部删除元素. 用列表来做 Queue: ...

  4. python 优先队列_示例讲解:python队列原理及实现方法与操作思路

    今天为大家带来的内容是:示例讲解:python队列原理及实现方法与操作思路 本文内容主要介绍了python队列原理及实现方法,结合实例形式详细分析了Python队列的概念.原理.定义及基本操作技巧,需 ...

  5. Python队列Queue

    Python队列Queue Queue是python标准库中的线程安全的队列(FIFO),提供了一个多线程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递. 常见方法 1.put( ...

  6. 《Python全栈开发:Python 队列(queue)》

    一.Python 队列(queue) Python的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列Pr ...

  7. Python队列左侧元素弹出queue.popleft()

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python队列左侧元素弹出 queue.popleft() [太阳]选择题 以下Pytho ...

  8. python队列_Python队列

    python队列 In our previous tutorial we have discussed about python time sleep function of the time mod ...

  9. python队列queue不堵塞_python 队列(queue)阻塞

    背景:python 队列 queue.Queue 或 multiprcessing.Queue 或其他队列在写入队列或从队列中读取元素时,都有可能会发生线程阻塞. 下面来说一下阻塞的类型,然后怎么避免 ...

  10. Python 队列 queue

    Python 队列 一.分类 1. Queue 标准队列,先进先出(FIFO),队尾插入,队头取元素. 2. LifoQueue 后进先出(first in last out).与栈的类似 3. Pr ...

最新文章

  1. ThunderGBM:快成一道闪电的梯度提升决策树
  2. WebMagic实现分布式抓取以及断点抓取
  3. ASP.NET 2.0 Web Part编程入门(实践篇)
  4. fiddler和wireshark工具介绍及对比 - [测试技术知识]
  5. [Material Design] 教你做一个Material风格、动画的button(MaterialButton)
  6. Oracle 创建dblink
  7. TOMCAT/JVM关闭时候的收尾(HOOK)
  8. Spring对JNDI的支持方法
  9. leetcode 算法解析(一):260. Single Number III(C++版本和自己的注解)
  10. linux so_nosigpipe,TCP_NODELAY/SO_LINGER/SO_NOSIGPIPE/MSG_NOSIGNAL设置
  11. 小程序开发(1)-之目录结构和文件说明
  12. 【JEECG-Mybatis版本】springmvc+mybatis+代码生成器(代码一键生成)
  13. python有什么用途视频_使用Python管理多平台视频流的最佳方法是什么?
  14. python有关时间的函数time和datatime
  15. 远程桌面连接--“发生身份验证错误。要求的函数不受支持
  16. python中使用什么表示代码块、不需要使用大括号_PYTHON基础语法
  17. 耳挂式蓝牙耳机原理_一种耳挂式蓝牙耳机的制作方法
  18. CSS——网易云音乐之下载客户端页面的实现
  19. 使用多线程实现多客户端的连接(通过Socket实现TCP编程)
  20. 华为鲲鹏服务器安装操作系统,华为鲲鹏服务器安装docker-compose及运用

热门文章

  1. maatkit使用总结
  2. 邮件安全之邮件认证技术
  3. 区块链加密算法小探(一)
  4. HTTP 04 web 服务器
  5. robot framework集成Jenkins环境
  6. Eigen的基础使用-C++
  7. 樱桃小丸子-每集标题
  8. 面试官系统精讲Java源码及大厂真题 - 28 Future、ExecutorService 源码解析
  9. Docker快速搭建邮件服务器Modoboa
  10. .net解决Xss攻击