一、队列
队列(Queue)是一个数据集合,仅允许在列表的一端进行插入,另一端进行删除。
队列性质:先进先出(First-in,First-out)
队列的基本操作:
入队(进队):插入动作。进行插入的一端称为队尾(rear)
出队:删除动作。进行删除的一端成为队头(front)
队列能否用列表简单实现,为什么?
答:简单的用列表来做,如图所示:
当元素出队时,没有用的空间会随着元素的出队而增加,空间开销会变得很大。这种实现方式,不好。简单的用列表来做做不到。
解决方法:把队列头尾连起来,变成循环队列,如图所示: