std::deque是C++ STL中支持双端高效插入删除的序列容器,通过包含头文件使用,可定义如std::deque dq;常用操作包括push_back、push_front、pop_back、pop_front、front、back、size、empty等,支持随机访问但不保证内存连续,适用于双端频繁操作场景。

std::deque(双端队列)是 C++ 标准模板库(STL)中的一个序列容器,支持在头部和尾部高效地插入和删除元素。与 std::vector 相比,std::deque 在两端操作都很快,而 vector 只在尾部高效。下面介绍 deque 的基本用法和常见操作。
包含头文件和定义 deque
使用 std::deque 需要包含头文件 :
#include
#include iostream>
定义一个 deque 的方式如下:
std::deque dq; // 存储 int 的 deque
std::deque names; // 存储字符串的 deque
常用成员函数和操作
deque 提供了丰富的接口来操作数据,以下是常用的几种方法:
立即学习“C++免费学习笔记(深入)”;
1. 插入元素push_back(value):在尾部添加元素 push_front(value):在头部添加元素 insert(iterator, value):在指定位置插入元素
示例:
dq.push_back(10); // [10]
dq.push_front(5); // [5, 10]
dq.push_back(20); // [5, 10, 20]2. 删除元素pop_back():删除最后一个元素 pop_front():删除第一个元素 erase(iterator):删除指定位置的元素
示例:
dq.pop_back(); // 移除 20,剩下 [5, 10]
dq.pop_front(); // 移除 5,剩下 [10]3. 访问元素front():返回第一个元素的引用 back():返回最后一个元素的引用 operator[] 或 at(index):通过索引访问元素
示例:
std::cout std::cout std::cout 4. 其他常用函数size():返回元素个数 empty():判断是否为空 clear():清空所有元素 begin() 和 end():返回迭代器,用于遍历
遍历示例:
for (const auto& x : dq) {
std::cout }
deque 的特点和适用场景
std::deque 的内存结构不是连续的,而是由多个固定大小的块组成,因此它可以在前后高效插入/删除。主要特点包括:
支持随机访问(可用下标或 at) 在头部和尾部插入删除的时间复杂度为 O(1) 不保证整体内存连续(与 vector 不同) 中间插入/删除效率较低(需要移动元素)
适合用于需要频繁在两端操作的场景,比如实现双端队列、滑动窗口、任务调度等。
基本上就这些。deque 使用简单,功能强大,是 vector 的有力补充。
以上就是c++++中的std::deque容器怎么使用_c++ std::deque使用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1478463.html
微信扫一扫
支付宝扫一扫