数据结构与算法

6.队列Queue

2021-02-08  本文已影响0人  Stone_説

目录:
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
上一篇 下一篇

猜你喜欢

热点阅读