在C++编程中,C++ queue库是标准模板库(STL)中一个非常实用的容器适配器,用于实现先进先出(FIFO, First In First Out)的数据结构。无论你是刚接触C++的新手,还是希望系统复习STL容器的老手,本文都将带你从零开始,深入浅出地掌握STL队列的核心用法。
队列(queue)是一种线性数据结构,其特点是:元素只能从队尾(rear)入队,从队首(front)出队。就像排队买票一样,先来的人先被服务。

要使用C++中的queue,首先需要包含头文件 <queue>。queue不是独立的容器,而是一个容器适配器,默认基于deque实现(也可以指定为list等)。
#include <iostream>#include <queue> // 包含queue头文件using namespace std;int main() { queue<int> q; // 声明一个存储int类型的队列 return 0;}以下是C++标准模板库中queue最常用的几个操作:
push(x):将元素x加入队尾pop():移除队首元素(不返回值)front():访问队首元素back():访问队尾元素empty():判断队列是否为空size():返回队列中元素个数#include <iostream>#include <queue>using namespace std;int main() { queue<string> waitingLine; // 入队 waitingLine.push("Alice"); waitingLine.push("Bob"); waitingLine.push("Charlie"); cout << "当前排队人数: " << waitingLine.size() << endl; // 处理队列 while (!waitingLine.empty()) { cout << "正在服务: " << waitingLine.front() << endl; waitingLine.pop(); // 出队 } cout << "所有人已服务完毕!" << endl; return 0;}输出结果:
当前排队人数: 3正在服务: Alice正在服务: Bob正在服务: Charlie所有人已服务完毕!
pop()不返回元素值,必须先用front()获取再pop()删除。front()或back()会导致未定义行为,务必先检查empty()。虽然queue默认使用deque,但你也可以指定其他容器,比如list:
#include <queue>#include <list>// 使用list作为底层容器queue<int, list<int>> q;
通过本教程,你应该已经掌握了队列操作教程中的核心知识点。C++ queue库简洁高效,非常适合处理任务调度、广度优先搜索(BFS)等场景。记住:先进先出是它的灵魂,安全使用是你的责任!
继续练习,你也能成为C++ STL高手!
本文由主机测评网于2025-12-09发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125091.html