前言
队列可以说是“保存数据的容器”。 首先输入的数据将被首先删除,因此队列也称为“先进先出”(FIFO)。 队列有两个前端。 这些项目是从后面输入的,并且是从前面删除的。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。如果队列中没有元素时,称为空队列。
1.先进先出 队列
这种是先进去队列的元素,就先被取出来。类似于,在食堂排队打饭的时候,排前面的同学打好饭就先离开,接着再轮到后面的同学。
from queue import Queue
q = Queue() # 创建队列对象
q.put(0) # 在队列尾部插入元素0
q.put(1) # 在队列尾部插入元素1
q.put(2) # 在队列尾部插入元素2
print('队列存在的元素', q.queue) # 查看队列中存在的所有元素
print(q.get()) # 返回并取出队列头部元素0
print(q.get()) # 返回并取出队列头部元素1 (0已经被取走,1就为头部元素)
print(q.queue) # 查看队列中存在的所有元素
2.先进后出 队列
这种先进后出有点类似于栈,就是先进去队列的元素,最后才被取出来。
from queue import LifoQueue