千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 1分钟学会c++中stldeque容器迭代器用法

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

来源:千锋教育
发布人:lxl
时间: 2023-06-06 11:14:00 1686021240

  在 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 容器进行交互。

tags: stldeque
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT