std::deque是C++ STL中支持两端高效插入删除的序列容器,需包含头文件;声明方式多样,如空初始化、指定大小或列表初始化;提供push_back、push_front、pop_back、pop_front等成员函数实现首尾增删,支持front、back、下标等访问方式,并具备size、empty、resize等常用操作;底层非连续内存但支持随机访问,适用于频繁两端操作场景,灵活性高于vector,但随机访问性能略低。

在C++中,std::deque(双端队列)是标准模板库(STL)提供的一个序列容器,支持在头部和尾部高效地插入和删除元素。它结合了vector的部分特性,同时允许两端操作,使用起来非常灵活。
包含头文件
使用 std::deque 前需要包含对应的头文件:
#include
声明与初始化
常见的声明方式如下:
std::deque dq; // 空的int类型双端队列 std::deque dq(5); // 包含5个0.0的双端队列 std::deque dq(5, 10); // 5个值为10的元素 std::deque dq2(dq); // 拷贝构造 std::deque dq = {1, 2, 3, 4}; // 列表初始化(C++11起)
常用成员函数操作
以下是 std::deque 的常用操作方法:
立即学习“C++免费学习笔记(深入)”;
插入元素
dq.push_back(x); // 在尾部添加元素x dq.push_front(x); // 在头部添加元素x dq.insert(pos, x); // 在指定位置插入元素
删除元素
dq.pop_back(); // 删除尾部元素 dq.pop_front(); // 删除头部元素 dq.erase(pos); // 删除指定位置的元素 dq.clear(); // 清空所有元素
访问元素
dq.front(); // 返回第一个元素的引用 dq.back(); // 返回最后一个元素的引用 dq[i]; // 随机访问第i个元素(不检查越界) dq.at(i); // 访问第i个元素,会做越界检查
其他常用函数
dq.empty(); // 判断是否为空 dq.size(); // 返回元素个数 dq.resize(n); // 调整大小为n dq.swap(another_dq); // 交换两个deque的内容
示例代码
下面是一个简单使用示例:
#include iostream>
#include
int main() {
std::deque dq;
dq.push_back(10);
dq.push_front(5);
std::cout std::cout
dq.pop_back();
std::cout
return 0;
}
基本上就这些。std::deque 适合需要频繁在两端增删元素的场景,相比 vector 更灵活,但随机访问性能略低于 vector。日常开发中根据需求选择即可。不复杂但容易忽略的是:它不要求内存连续,但支持类似数组的访问方式。
以上就是c++++怎么使用std::deque_c++ std::deque使用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1477316.html
微信扫一扫
支付宝扫一扫