6.队列Queue

作者: Stone_説 | 来源:发表于2021-02-08 12:42 被阅读0次

    目录:
    1.队列的定义
    2.队列的图解
    3.队列定义操作
    4.队列的实现

    1.队列的定义

    1.队列是一种有次序的数据集合,其特征是:
        新数据项的添加总发生在一端(通常称为"尾rear"端)
        而现存数据项的移除总发生在另一端(通常称为“首front”端)
    2.这种次序安排的原则称为(FIFO:First-in-first-out)先进先出
    3.队列仅有一个入口和出口,不允许数据项直接插入队中,也不允许从中间移除数据项
    

    2.队列的图解

    队列.jpg

    3.队列定义操作

    Queue(): 创建一个空队列对象,返回值为一个Queue对象;
    enqueue(item): 将数据项item添加到队尾,无返回值;
    dequeue(): 从队首移除数据项返回值为队首数据项,队列被修改;
    isEmpty(): 测试是否空队列,返回值为布尔值;
    size(): 返回队列中数据项的个数。
    

    4.队列的实现

    class Queue:
        def __init__(self):
            self.items = []
    
        def isEmpty(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)
    
    测试:
    s = Queue()
    print(1,s.isEmpty())
    s.enqueue(100)
    print(2,s.size())
    s.enqueue(200)
    s.enqueue(300)
    print(3,s.size())
    print(4,s.isEmpty())
    print(s.dequeue())
    
    # 运行结果
    1 True
    2 1
    3 3
    4 False
    100
    6 False
    

    相关文章

      网友评论

        本文标题:6.队列Queue

        本文链接:https://www.haomeiwen.com/subject/rvbxxltx.html