zoukankan      html  css  js  c++  java
  • collection 模块 双端队列

    单端队列

      用于同一进程中的队列,可以叫做单进程队列。

      queue

      遵循先进先出,先进去的必须先出来

      1、先进先出:

      impore queue

      q = queue.Queue()    实例化一个对象

      q.put(1)         put()  放值

      q.put('abc')

      q.put([1,2,3])

      q.get()          get()  取值   谁先进去,就先取谁。

      2、后进先出:

      import queue

      q = queue.LifoQueue()    

      q.put(1)

      q.put(2)

      print(q.get())

      print(q.get())

      3、优先级队列

      import queue

      q = queue.PriorityQueue()

      q.put((1,'aa'))    优先级队列放的是一个元组,且第一位如果是数字,数字越小优先级越高,优先往出取。(包括负数)

      q.put((2,'bb'))

      q.put(('a','ss'))    优先级队列中的元组如果第一位是字符串,那么就比较它的ASCII码的数值,ASCII码越小越好。

      q.put('1','xx'))

      注意:如果一个队列中既放了数字开头的优先级元祖,又放了字符串开头的优先级元组,将无法比较。

    双端队列

      deque

      clooection 实际上是一个包,deque是他里边的一个模块。所以导入的时候是

      from collection import deque

      

      双端队列  和 列表的 remove / insert 时,效率是有差别的。双端队列会很快。因为双端队列底层用的是链表。

      

      

  • 相关阅读:
    MVC框架简介
    模型-视图-控制器模式
    高德地图基本开发
    质量属性的六个常见属性场景分析
    架构漫谈读后感
    第十周
    第九周总结
    第八周总结
    springboot基于mybatis的pegehelper分页插件
    webmagic之爬取数据存储为TXT
  • 原文地址:https://www.cnblogs.com/wf123/p/9460778.html
Copyright © 2011-2022 走看看