队列:数据结构与应用详解
1. 队列的基本概念
队列是一种线性数据结构,遵循先进先出(FIFO)的原则。这意味着最早进入队列的元素将最先被移除。队列广泛应用于各种场景,如操作系统中的任务调度、网络打印机的任务队列等。为了更好地理解队列的工作原理,我们可以通过一个简单的例子来说明:假设你在一个电影院排队买票,第一个到达的人会是第一个买到票的人,这就是队列的典型应用场景。
2. 队列的数组实现
使用数组来实现队列是最简单的方法之一。数组队列的关键在于维护两个指针 front
和 rear
,分别指向队列的头部和尾部。以下是数组队列的基本操作:
- 初始化队列 :设置
front
和rear
指针为 -1,表示队列为空。 - 入队(Enqueue) :将新元素添加到队列的尾部,并更新
rear
指针。 - 出队(Dequeue) :移除队列头部的元素,并更新
front
指针。 - 检查队列是否为空 :当
front
和rear
都为 -1 时,队列为空。 - 检查队列是否已满 :当
rear
达到数组的最大索引时,队