zoukankan      html  css  js  c++  java
  • python3学习-Queue模块

    python标准库中带有一个Queue模块,顾名思义,队列。该模块也衍生出一些基本队列不具有的功能。

    我们先看一下队列的方法:

    put 存数据
    get 取数据
    empty 判断队列是否为空
    qsize 显示队列中真实存在的元素长度
    maxsize 最大支持队列长度
    join 等到队列为空,该行语句下面的语句才会执行
    full 检查队列是否已满

    单向队列

    import queue
    
    q = queue.Queue(5)
    print(q.maxsize)
    q.put(343)
    q.put(23)
    q.put(432)
    
    print(q.get())
    q.put(44)
    q.put(35)
    q.put(235)
    print(q.full())  #判断队列当前大小是否等于约定队列大小
    print(q.qsize())
    

    先进后出队列

    q = queue.LifoQueue(5)
    q.put(343)
    q.put(23)
    q.put(432)
    
    print(q.get())
    

    优先级队列

    优先级队列put进去的是一个元祖,(优先级,数据),优先级数字越小,优先级越高

    q = queue.PriorityQueue(5)
    q.put((5, 5454))
    q.put((5, 532566))
    q.put((3, 555))
    q.put((7, 344))
    print(q.get())
    print(q.get())
    

    注意:如果有两个元素优先级是一样的,那么在出队的时候是按照先进先出的顺序的。

    双端队列

    q = queue.deque()
    q.append(1)  #这个方法是在尾部增加
    q.append(2)
    q.append(3)
    
    q.appendleft(4) #这个方法是在首部增加
    q.insert(2,5)   #指定位置插入元素
    
    print(q.pop()) #出队是尾部先出
    
  • 相关阅读:
    使用PowerDesigner创建表并导入到数据库
    第二次作业——结对项目之需求分析与原型模型设计
    使用Git进行代码管理
    常用
    头文件
    只出现一次的数
    链表实现基础排序算法
    判断链表有公共点
    单链表判环
    二叉树非递归遍历
  • 原文地址:https://www.cnblogs.com/rickiyang/p/11074213.html
Copyright © 2011-2022 走看看