队列
Coddy C++ 标准模板库 课程的第 11 课,共 23 课。
C++ 队列是一种数据结构,提供队列的功能。更准确地说,它遵循 FIFO (先进先出)原则。这意味着,先加入队列的元素会先离开队列,也就是说,它们会先从队列中移除。

queue<dataType> queueName;要在 C++ 中创建队列,我们需要在 C++ 文件顶部使用 #include <queue> 引入 queue 头文件。
现在,我们可以在程序中按如下方式声明队列:
queue<int> queueOfNums;接下来,我们要学习如何向队列中添加新元素。我们使用 push() 方法来添加。push() 方法会在队列末尾插入一个新元素。
queueOfNums.push(1);
queueOfNums.push(2);
...接下来,我们想要显示队列中的元素。由于它是队列,我们可以显示最先加入队列的元素。为此,我们使用 front() 方法。它会返回队列中的第一个元素。
cout << queueOfNums.front();Output:
1与栈不同,在栈中我们只能输出栈顶元素,也就是最后一个元素。使用队列时,我们也可以输出队列中的最后一个值。我们使用 back() 方法来实现,它会返回队列中的最后一个元素。
queueOfNums.push(3);
cout << queueOfNums.back();Output:
3我们还要学习如何从队列中移除元素。遗憾的是,我们只能移除位于队首、最先加入的元素,因为它仍然是一个队列,所以不能先移除最后一个元素。要实现这一点,我们会使用栈和 LIFO(后进先出)原则。
因此,我们使用 pop() 方法移除队首元素。
queueOfNums.pop();
cout << queueOfNums.front() << endl;
queueOfNums.pop();
cout << queueOfNums.front();Output:
1
2队列方法
| 方法 | 功能 |
size() | 返回队列中的元素数量 |
empty() | 如果队列为空,则返回 true,否则返回 false |
swap() | 将一个队列的内容与另一个队列的内容交换 |
挑战
简单输入 10 个数字。使用队列,逐个移除并输出其中的偶数。
Input
1 2 3 4 5 6 7 8 9 10Output
2 4 6 8 10亲手试试
#include <queue>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}C++ 标准模板库中的所有课
自己练习: C++ 在线编译器