美文网首页
插入迭代器

插入迭代器

作者: ustclcl | 来源:发表于2019-08-04 23:00 被阅读0次

插入迭代器

接受一个容器,生成一个迭代器,实现向给定容器插入元素

操作

it = t

在it指定的当前位置插入值t,且根据插入迭代器的类型不同,分别调用c.push_back(t), c.oush_front(t), c.insert(t,p)

*it, it++, ++it

有这些形式,但是什么都不做

类型

  • back_inserter
    创建一个使用push_back的迭代器

  • front_inserter
    创建一个使用push_front的迭代器

  • inserter
    创建一个使用insert的迭代器
    若it是一个inserter则以下代码

*it = val;

it = c.insert(it, val);
++it;

效果一样
示例:

#include <iostream>
#include <list>
#include <iterator>
#include <algorithm>

using namespace std;

void Output(const list<int> &a){
    ostream_iterator<int> out_iter(cout," ");
    copy(a.cbegin(),a.cend(),out_iter);
    cout << endl;
}
int main(int argc, char *argv[])
{
    list<int>a1 = {1,2,3,4},a2,a3,a4;
    copy(a1.cbegin(),a1.cend(),inserter(a2,a2.begin()));
    copy(a1.cbegin(),a1.cend(),front_inserter(a3));
    copy(a1.cbegin(),a1.cend(),back_inserter(a4));
    Output(a2);
    Output(a3);
    Output(a4);
}

输出

1 2 3 4
4 3 2 1
1 2 3 4

相关文章

  • 插入迭代器

    插入迭代器 接受一个容器,生成一个迭代器,实现向给定容器插入元素 操作 it = t 在it指定的当前位置插入值t...

  • 头文件中的迭代器

    头文件 中定义了四种迭代器: 插入迭代器(insert iterator):这些迭代器被绑定到一个容器上,可向容器...

  • C++ STL back_inserter 函数说明

    说明 back_inserter用于在末尾插入元素。实现方法是构造一个迭代器,这个迭代器可以在容器末尾添加元素。这...

  • java.util.ConcurrentModification

    在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数...

  • C++ 迭代器失效

    对容器的操作影响了元素的存放位置,称为迭代器失效。下面是一些常见的迭代器失效情况 vector 插入一个元素后,e...

  • Python基础-day07

    list 排序 二分法查找 可迭代对象 迭代器 元组 排序 ​ 冒泡排序 选择排序 插入排序 希尔排序 堆排序...

  • ArrayList 源码分析(JDK1.8)

    一、目录 源码分析构造器插入删除迭代器(注意: foreach 做删除操作抛出异常问题) 总结 示例代码 参考资料...

  • Java集合类源码之Map——LinkedHashMap

    主要内容: LinkedHashMap数据结构 继承关系、关键属性、构造函数 插入、查找元素 扩容 迭代器 与Ha...

  • 迭代器

    本节实验我们将为大家讲解迭代器,主要介绍 5 种常见迭代器:输入、输出迭代器,前向逆向迭代器,双向迭代器和随机迭代...

  • c++primer 10.26-10.42

    10.26back_inserter 是固定在尾后迭代器之前插入一个元素后返回这个元素的得带器,之后赋值例如 fr...

网友评论

      本文标题:插入迭代器

      本文链接:https://www.haomeiwen.com/subject/yjuudctx.html