数组实现队列(第二种)算法是一种常见的队列实现方法。它使用一个数组来存储队列元素,并用两个指针来表示队头和队尾。
-
实现思路:
- 创建一个固定大小的数组,用来存储队列元素。
- 使用两个指针front和rear来分别表示队头和队尾的下标。
- 初始时,front和rear都指向数组的第一个位置。
- 入队操作时,将新元素插入到rear指向的位置,并将rear指针后移一位。
- 出队操作时,将front指向的元素取出,并将front指针后移一位。
-
算法的优点:
- 简单易懂,实现起来较为容易。
- 不需要动态分配内存,适用于已知队列大小的情况。
- 入队和出队操作的时间复杂度均为O(1)。
-
算法的缺点:
- 需要预先知道队列的最大容量,不支持动态扩容。
- 当队列满时,无法再插入新元素,即使队列中有空闲位置。
- 当队列元素出队后,数组中存在未被使用的空间,造成空间浪费。
-
C++代码实现:
#include <iostream>
using