姓名:张钰 学号:21011210154 学院:通信工程学院
【嵌牛导读】队列是先入先出的数据结构,本文将首先介绍先入先出(FIFO)及其在队列中的工作方式,并能够自己实现队列。
【嵌牛鼻子】先入先出
【嵌牛提问】队列如何来实现
【嵌牛正文】
队列是典型的先入先出数据结构,在先入先出的数据结构中,首先处理添加到队列中的第一个元素。如下图所示,插入insert操作也称作入队enqueue,新元素始终被添加在队列的末尾。 删除delete操作也被称为出队dequeue,出队时要移除第一个元素。
为了实现队列,我们可以使用动态数组和指向队列头部的索引。如上所述,队列应支持两种操作:入队和出队。入队会向队列追加一个新元素,而出队会删除第一个元素。 所以我们需要一个索引来指出起点。
python实现队列:
class Queue():
def __init__(self):
self.list = []
def enqueue(self, item):
self.list.append(item) # 向队列中添加元素:进队
def dequeue(self):
# 删除队列元素:出队
if self.list:
return self.list.pop(0)
else:
return None
def is_empty(self):
return self.list == [] # 判断队列是否为空
def size(self):
return len(self.list) # 查询队列长度