python队列原理及实现方法示例

 更新时间:2019年11月27日 10:21:37   作者:xlengji  
这篇文章主要介绍了python队列原理及实现方法,结合实例形式详细分析了Python队列的概念、原理、定义及基本操作技巧,需要的朋友可以参考下

本文实例讲述了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加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • pycharm 设置项目的根目录教程

    pycharm 设置项目的根目录教程

    今天小编就为大家分享一篇pycharm 设置项目的根目录教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)

    python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)

    这篇文章主要介绍了python3模拟百度登录并实现百度贴吧签到示例,需要的朋友可以参考下
    2014-02-02
  • Python3 利用face_recognition实现人脸识别的方法

    Python3 利用face_recognition实现人脸识别的方法

    这篇文章主要介绍了Python3 利用face_recognition实现人脸识别的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • python端口扫描系统实现方法

    python端口扫描系统实现方法

    这篇文章主要介绍了python端口扫描系统实现方法,可实现简单的外网IP扫描及写入MySQL数据库等功能,需要的朋友可以参考下
    2014-11-11
  • 浅析Python中的变量赋值与多重赋值

    浅析Python中的变量赋值与多重赋值

    在 Python 中,变量赋值是编程中常见的操作之一,本文将深入探讨 Python 中的变量赋值和多重赋值,包括其基本语法、特性、应用场景以及示例代码,需要的可以参考下
    2024-03-03
  • Python3+Appium实现多台移动设备操作的方法

    Python3+Appium实现多台移动设备操作的方法

    这篇文章主要介绍了Python3+Appium实现多台移动设备操作的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Pytorch写数字识别LeNet模型

    Pytorch写数字识别LeNet模型

    这篇文章主要介绍了Pytorch写数字识别LeNet模型,LeNet-5是一个较简单的卷积神经网络,  LeNet-5 这个网络虽然很小,但是它包含了深度学习的基本模块:卷积层,池化层,全连接层。是其他深度学习模型的基础, 这里我们对LeNet-5进行深入分析,需要的朋友可以参考下
    2022-01-01
  • Pytorch之contiguous的用法

    Pytorch之contiguous的用法

    今天小编就为大家分享一篇Pytorch之contiguous的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • django如何实现用户的注册、登录、注销功能

    django如何实现用户的注册、登录、注销功能

    本文详细介绍了创建Django项目的步骤,包括配置数据库、编写用户模型、创建迁移文件、编写表单校验、编写前端页面、编写视图类、编写路由、使用Django自带的管理后台以及具体的文件结构,通过这些步骤,可以实现一个基本的Django项目
    2025-01-01
  • 简单了解Python变量作用域正确使用方法

    简单了解Python变量作用域正确使用方法

    这篇文章主要介绍了简单了解Python变量作用域正确使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论