6.队列Queue
2021-02-08 本文已影响0人
Stone_説
目录:
1.队列的定义
2.队列的图解
3.队列定义操作
4.队列的实现
1.队列的定义
1.队列是一种有次序的数据集合,其特征是:
新数据项的添加总发生在一端(通常称为"尾rear"端)
而现存数据项的移除总发生在另一端(通常称为“首front”端)
2.这种次序安排的原则称为(FIFO:First-in-first-out)先进先出
3.队列仅有一个入口和出口,不允许数据项直接插入队中,也不允许从中间移除数据项
2.队列的图解
队列.jpg3.队列定义操作
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