全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

1分钟学会c++中stldeque容器迭代器用法

发布时间:2023-06-06 11:14:00
发布人:lxl

  在 C++ 的 STL 中,std::deque 是一个双端队列容器,支持随机访问、尾部添加和删除元素的操作,可以使用迭代器来访问和操作 deque 中的元素。以下是 std::deque 容器中迭代器的用法。

  创建一个std::deque对象

std::deque<int> myDeque;

   这将创建一个名为 myDeque 的 std::deque 对象,其中包含整数(int)类型的元素。

  使用迭代器访问 std::deque 中的元素

  (1)使用begin()和end()函数获取std::deque的起始迭代器和结束迭代器

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int>::iterator iter_begin = myDeque.begin();
std::deque<int>::iterator iter_end = myDeque.end();

   (2)使用迭代器访问std::deque中的元素

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int>::iterator iter_begin = myDeque.begin();
std::deque<int>::iterator iter_end = myDeque.end();

for (auto iter = iter_begin; iter != iter_end; ++iter) {
std::cout << *iter << std::endl;
}

   上面的代码通过 for 循环遍历整个 deque 容器,并输出每个元素的值。

  插入和删除元素

  使用迭代器可以在 std::deque 中插入和删除元素,如下所示:

  (1)在指定位置插入一个元素

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int>::iterator iter = myDeque.begin();

// 在第2个元素后面插入一个元素
myDeque.insert(iter + 1, 6);

   (2)在指定位置插入一组元素

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int> newElements = {6, 7, 8};
std::deque<int>::iterator iter = myDeque.begin() + 1;

// 在第2个元素后面插入一组元素
myDeque.insert(iter, newElements.begin(), newElements.end());

   (3)在指定位置删除一个元素

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int>::iterator iter = myDeque.begin() + 1;

// 删除第2个元素
myDeque.erase(iter);

   (4)在指定范围内删除多个元素

std::deque<int> myDeque = {1, 2, 3, 4, 5};
std::deque<int>::iterator iter_begin = myDeque.begin() + 1;
std::deque<int>::iterator iter_end = myDeque.begin() + 3;

// 删除第2到4个元素
myDeque.erase(iter_begin, iter_end);

   总之,通过迭代器,C++ 中的 std::deque 容器支持对双向队列中的元素进行访问、插入、删除等操作,能够方便地与其它 STL 容器进行交互。

#stldeque

相关文章

什么是系统负载?

什么是系统负载?

2023-10-15
线程池是什么?

线程池是什么?

2023-10-15
谷歌将对Android广告跟踪进行更改意味着什么?

谷歌将对Android广告跟踪进行更改意味着什么?

2023-10-15
APT能干什么,在Android开发中什么作用?

APT能干什么,在Android开发中什么作用?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取