队列

队列和栈比较类似,可以和博文:https://blog.csdn.net/weixin_42521211/article/details/88946748 参考学习。

队列的一个特性是:先进先出(First In First Out, FIFO),

python中,同样可以使用列表来存储队列的数据。通过创建一个队列类,便可以方便的对队列进行操作。主要有:

入队(In()) 出队(Out()) 清空队列(empty())  设置队列大小(setSize()) 获取队尾位置(getEnd())等

python实现代码示例

# -*- coding: utf-8 -*-

"""

Created on Mon Apr  1 15:41:12 2019

@author: mu

"""

class PyQueue:                # 创建队列

def __init__(self,size=20):

self.queue = []  #

self.size = size # 队列大小

self.end = -1    # 队尾

# 设置队列大小

def setSize(self,size):

self.size = size

# 入队

def In(self,element):

if self.end

self.queue.append(element)

self.end +=1

else:

raise QueueException('PyQueueFull') # 队满,引发异常

# 出队

def Out(self):

if self.end != -1:

element = self.queue[0]

self.queue = self.queue[1:]

self.end -= 1

return element

else:

raise QueueException('PyQueueEmpty') # 队空,抛出异常

# 获取队尾位置

def getEnd(self):

return self.end

# 清空队列

def empty(self):

self.queue = []

self.end = -1

class QueueException(Exception): #自定义异常类

def __init__(self,data):

self.data = data

def __str__(self):

return self.data

'''

主程序

'''

if __name__ == '__main__':

queue = PyQueue()

for i in range(10) :            #入队

queue.In(i)

print('队尾位置:',queue.getEnd())

while queue.getEnd != -1:

print(queue.Out())

queue.empty()           #清空队列

for i in range(20):

print(queue.Out())  #引发异常

题外记

和栈类似,实现很简易!

python 清空队列_python实现:队列相关推荐

  1. python多进程队列中的队列_python 多进程队列数据处理详解

    我就废话不多说了,直接上代码吧! # -*- coding:utf8 -*- import paho.mqtt.client as mqtt from multiprocessing import P ...

  2. python清空列表_Python之列表

    Python变量没有数据类型,所以Python没有数组. 整数:浮点数:字符串:对象 创建一个列表: 1.member=['大鱼','123','3.14','[1,2,3]'] 2.empty=[] ...

  3. python清空集合_python集合删除多种方法详解

    这篇文章主要介绍了python集合删除多种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 删除指定的元素 A={'a','c','b','d ...

  4. python清空列表_Python 内存分配时的小秘密

    (给Python开发者加星标,提升Python技能) 作者:豌豆花下猫 (本文来自作者投稿) Python 中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解 ...

  5. python 清空表格_python 清空表数据库表

    <Greenplum5.0 最佳实践> 迁移数据使用Gptransfer 使用 Gptransfer 命令迁移一个 Greenplum 数据库集群中的数据到另一台集群(metradata, ...

  6. python清空文件_python清空文件

    <Ansible权威指南>一1.8 Python多环境扩展管理 本节书摘来自华章出版社<Ansible权威指南>一书中的第一章,第1.8节,作者 李松涛 魏 巍 甘 捷 更多章 ...

  7. python清空语句_python有趣语句

    python 赋值语句 python中的语句: 赋值语句 if语句,当条件成立时运行语句块.经常与else, elif(相当于else if)配合使用. for语句,遍列列表.字符串.字典.集合等迭代 ...

  8. python清空集合_python集合的操作

    集合的两大特性: 一.去重 二.关系测试 1.去重效果 >>> l1 = ["张三","李四","王五","张三 ...

  9. python环形队列_Python 实现数据结构-循环队列的操作方法

    今天我们来到了循环队列这一节,之前的文章中,我介绍过了用python自带的列表来实现队列,这是最简单的实现方法. 但是,我们都知道,在列表中删除第一个元素和删除最后一个元素花费的时间代价是不一样的,删 ...

最新文章

  1. Java 14 Hotspot 虚拟机垃圾回收调优指南!
  2. python的工作方向-python职业发展方向有哪些,各有什么优劣?
  3. Apache Camel简介与入门
  4. c++STL容器的Map和multimap
  5. android 动态画直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...
  6. 几款少儿编程软件介绍
  7. 2.5 浅层/深层神经网络
  8. 算法注册机编写扫盲---第二课
  9. 用初等解法解特定差分方程(韦达定理的应用)
  10. 每天一道算法题——拼音翻译成阿拉伯数字(只有数字拼音)
  11. RTL8372-CG/RTL8373-CG
  12. 恋与抽卡模拟器网页_《公主连结》抽卡模拟器网站是什么 抽卡模拟器地址介绍...
  13. 【LeetCode】LCP 17. 速算机器人(C++)
  14. 基于arduino的5路循迹小车(1)
  15. Java抽象类与抽象方法
  16. 【JAVA】科研信息管理系统
  17. 网页登录飞书妙记如何添加“飞书妙记”应用?
  18. 君子慎独,卑以自牧!
  19. XWW的难题(bzoj 3698)
  20. 桌面PC/服务器 ubuntu18.04 Linux内核编译升级与机制分析

热门文章

  1. esp8266 接收udp广播_ESP8266的UDP广播
  2. 千锋Java高级教程+分布式+springcloud+微信支付课程
  3. quarts之Cron表达式示例
  4. JavaScript输入输出语句
  5. 自定义事件详解以及实现有趣B站直播间弹幕轰炸功能
  6. SAP常用系统字段含义
  7. Python小项目俄罗斯方块代码基于pygame编写
  8. OOAD设计原则精细版详细讲解
  9. element的container布局铺满
  10. Django:Meta元数据类属性解析