队列
入门队列强调"先到先服务",让处理顺序稳定可控。
// 算法讲解
队列
会展示入队、读取队首和出队,帮助理解先进先出。
待机
速度 中
待机 ⌨1queue<int> q;
2
3void enqueue(int x) {
4 q.push(x);
5}
6
7void dequeue() {
8 if (!q.empty()) q.pop();
9}
10
11int frontValue() {
12 return q.front();
13}
复杂度分析
时间 push/pop/front O(1)
空间 O(n)
最优 O(1)
最坏 O(1)
算法讲解
队列从尾部入队、从头部出队,因此最先进入的数据会最先被处理。
BFS 按层推进时,本质上就是把"下一批待访问节点"放进队列里排队。
理解队列时可以重点看 front 和 rear 两个边界,它们决定了当前有效区间。
当我们进一步允许头尾两端都操作时,就会自然过渡到双端队列。