📅  最后修改于: 2023-12-03 14:55:37.983000             🧑  作者: Mango
队列(Queue)是一种 FIFO (先进先出) 数据结构,可以通过 STL 中的 Queue 模板实现. STL 中的 Queue 是一个容器适配器(Container Adapter),用于将任何一种容器类型适配为队列形式. 目前,STL 中 Queue 的底层默认实现是一个 deque (双向队列).
以下是 Queue 支持的操作:
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
q.push(5);
q.push(4);
q.push(3);
q.push(2);
q.push(1);
cout << "队列头: " << q.front() << endl;
cout << "队列尾: " << q.back() << endl;
cout << "队列大小: " << q.size() << endl;
// 依次出队列
while (!q.empty()) {
cout << q.front() << " ";
q.pop();
}
cout << endl;
return 0;
}
以上代码展示了如何使用 STL 中的 Queue. 首先,创建一个名为 q 的 Queue 对象,并通过 push() 函数将 5 个元素依次加入队列,然后通过 front()、back() 和 size() 函数来访问队头元素、队尾元素和队列的大小.
接下来,通过 while 循环和 empty() 和 pop() 函数来遍历并删除队列中的元素,最后将结果输出.
STL 中的 Queue 模板提供了一种简单而高效的方式来实现队列. 它封装了实现队列所需的所有细节,并提供了一组常用的操作. 如果需要实现队列,可以考虑使用 STL 中的 Queue.