std::deque 双端队列
了解双端队列在两端高效插入/删除的特性。 · 难度:入门 · +15XP
std::deque 双端队列
deque(double-ended queue)支持在头部和尾部以常数时间插入/删除元素,同时提供随机访问(下标 O(1))。与 vector 相比,deque 在头部操作更高效;与 list 相比,deque 支持直接索引且内存利用更紧凑。常用成员:push_front、push_back、pop_front、pop_back、front、back、[] 等。
#include <iostream>
#include <deque>
int main() {
std::deque<int> dq = {10, 20, 30};
dq.push_front(0); // 头部插入: [0,10,20,30]
dq.push_back(40); // 尾部插入: [0,10,20,30,40]
std::cout << "front: " << dq.front() << '
'; // 0
std::cout << "back: " << dq.back() << '
'; // 40
std::cout << "index 2: " << dq[2] << '
'; // 20
dq.pop_front(); // 移除头部: [10,20,30,40]
dq.pop_back(); // 移除尾部: [10,20,30]
for (int x : dq) std::cout << x << ' '; // 10 20 30
return 0;
}