zoukankan      html  css  js  c++  java
  • Python 队列

    所谓队列

    队列是有序集合,添加操作发生在“尾部”,移除操作则发生在“头部”。

    新元素从尾部进入 队列,然后一直向前移动到头部,直到成为下一个被移除的元素。

    新添加的元素必须在队列的尾部等待,在队列中时间长的元素则排在前面。

    这种排序 原则被称作 FIFO(first-in first-out),即先进先出,也称先到先得。

    队列抽象数据类型

    • Queue() 创建一个空队列。它不需要参数,且会返回一个空队列。

    • enqueue(item) 在队列的尾部添加一个元素。它需要一个元素作为参数,不返回任何值。

    • dequeue() 从队列的头部移除一个元素。它不需要参数,且会返回一个元素,并修改队列的内容。

    • isEmpty() 检查队列是否为空。它不需要参数,且会返回一个布尔值。

    • size() 返回队列中元素的数目。它不需要参数,且会返回一个整数。

    用 Python 实现队列

    class Queue:
        def __init__(self):
            self.queue = []
    
        def isEmpty(self):
            return self.queue == []
    
        def enqueue(self, item):
            self.queue.append(item)
    
        def dequeue(self):
            if not self.queue:
                return None
            else:
                return self.queue.pop(0)
    
        def size(self):
            return len(self.queue)
    
    
    q = Queue()
    print(q.isEmpty())
    
  • 相关阅读:
    AtCoder Grand Contest 030题解
    Codeforces Round #542 (Div. 1) 题解
    ZJOI2019赛季回顾
    UOJ #450「集训队作业2018」复读机
    「IOI2018」狼人
    APIO2019游记
    BZOJ4314 倍数?倍数!
    伯努利数学习笔记&&Luogu P3711 仓鼠的数学题
    Codeforces Round #541 (Div. 2)题解
    UOJ #460 新年的拯救计划
  • 原文地址:https://www.cnblogs.com/dc2019/p/13903398.html
Copyright © 2011-2022 走看看