Level 2 · STL

vector 与 queue

vector 是会自动变长的数组;queue 是先进先出的队列。

一、互动演示:队列先进先出(FIFO)

像排队买票:新人排到队尾,叫号从队头开始。绿色是队头 front。

← 队头 front(先出)队尾 back(后进)→

二、栈 vs 队列

栈 stack队列 queue
规则后进先出 LIFO先进先出 FIFO
出口栈顶 top队头 front
典型用途括号匹配、DFS排队模拟、BFS

三、参考代码:vector 与 queue

#include <vector>
#include <queue>
using namespace std;

// vector:动态数组
vector<int> v;
v.push_back(10);
v.push_back(20);     // v = [10, 20]
cout << v[0] << " " << v.size();   // 10 2

// queue:先进先出
queue<int> q;
q.push(1);
q.push(2);
q.push(3);           // 头→尾:1 2 3
cout << q.front();   // 1
q.pop();             // 弹掉队头 1
cout << q.front();   // 2

vector 可替代普通数组还能动态增长;queue 是 BFS 广搜的核心工具。