一句话理解
deque 是双端队列,两头都能进出。
为什么要学
单调队列、某些滑动窗口会用。
讲解
push_front / push_back / pop_front / pop_back,还能按下标访问。
比 vector 在头部插入快,随机访问也支持。普通尾部追加用 vector 即可。
例子
deque<int> d;
d.push_back(1);
d.push_front(2);
cout << d[0] << d[1];
输出:
21
前端插入 2,后端已有 1,所以是 2 1。
常见错误
- 能用 vector 就用更复杂的 deque 没有好处。
- 空 deque 取端点。