vector 与 queue
vector 是会自动变长的数组;queue 是先进先出的队列。
一、互动演示:队列先进先出(FIFO)
像排队买票:新人排到队尾,叫号从队头开始。绿色是队头 front。
← 队头 front(先出)队尾 back(后进)→
push 几个数,再 pop,体会"先进的先出"。
二、栈 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 广搜的核心工具。