deque
(双端队列)是C++标准模板库(STL)中的一种容器,支持在队列的前端和后端高效地插入和删除元素。与vector
相比,deque
允许高效地在序列的前端进行插入和删除操作,而vector
仅支持在尾部高效地添加和删除元素。deque
是一个动态数组,能够根据需要自动重新分配存储空间。
下面列出了deque
的一些常用操作:
引入头文件
使用deque
前,需要包含其头文件:
#include <deque>
创建deque
创建一个deque
容器:
std::deque<int> d; // 创建一个空的int类型deque
添加元素
-
在末尾添加元素:
d.push_back(10);
-
在开头添加元素:
d.push_front(5);
访问元素
-
访问第一个元素:
int first = d.front();
-
访问最后一个元素:
int last = d.back();
-
通过索引访问元素(与数组相似):
int element = d[0]; // 访问第一个元素
删除元素
-
删除末尾元素:
d.pop_back();
-
删除开头元素:
d.pop_front();
大小和容量
-
检查
deque
是否为空:bool isEmpty = d.empty();
-
获取
deque
的元素数量:size_t size = d.size();
迭代器
deque
支持迭代器,可以用来遍历容器中的元素:
for (auto it = d.begin(); it != d.end(); ++it) {
std::cout << *it << ' ';
}
清空deque
清除deque
中的所有元素:
d.clear();
deque
提供了灵活的数据结构,使得在序列的两端操作变得非常高效,适用于需要频繁插入和删除的场景。