目录

•  iostream迭代器

•  反向迭代器

插入迭代器

插入迭代器,这些迭代器被绑定到一个容器上,可以向容器插入元素。

头文件为:#include<iterator

 it=t         在it指定的当前位置插入值t。假定c是it绑定的容器,依赖于插入迭代器的不同种类,此赋值分别调用c.push_back(t)、c.push_front(t)或c.insert(t,p),其中p为传递给inserter的迭代器位置*it,++it,it++    这些操作虽然存在,但不会对it做任何事情。每个操作都返回it

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

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

• inserter创建一个使用insert的迭代器。此函数接受第二个参数,这个参数必须是一个指向给定容器的迭代器。元素被插入到指定的迭代器所表示的元素之前。

【注意】只有容器支持push_back才可以使用back_inserter, 同理,只有容器支持push_front时才可以使用front_inserter

当调用inserter时,得到一个迭代器,接下来使用它时,会将元素插入到这个迭代器所指向的元素之前的位置。即,如果it是由inserter生成的迭代器,则下面这样的赋值语句:
*it = val;

效果和下面的代码一样:

it = c.insert(it, val);
++it;                  // 递增it使它指向原来的元素

list<int> lst1 = {1, 2, 3, 4};
list<int> lst2, lst3;
copy(lst.begin(), lst.end(), front_inserter(lst2));          //拷贝完成之后, lst2包含4 3 2 1
copy(lst.begin(), lst.end(), inserter(lst3, llst3.begin())); //拷贝完成之后, lst2包含1 2 3 4

代码:

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<vector>
 4 #include<list>
 5 #include<iterator>
 6 using namespace std;
 7
 8 int main()
 9 {
10     vector<int> vi = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
11     list<int> li1, li2, li3;
12     unique_copy(vi.begin(), vi.end(), inserter(li1, li1.begin()));
13     for (auto v : li1)
14         cout << v << " ";
15     cout << endl;
16
17     unique_copy(vi.begin(), vi.end(), back_inserter(li2));
18     for (auto v : li2)
19         cout << v << " ";
20     cout << endl;
21
22     unique_copy(vi.begin(), vi.end(), front_inserter(li3));
23     for (auto v : li3)
24         cout << v << " ";
25     cout << endl;
26
27     return 0;

输出结果:

转载于:https://www.cnblogs.com/sunbines/p/9110862.html

【C++ Primer 第10章】 10.4.1 插入迭代器相关推荐

  1. 0day 第10章--10.5节:修改data中的cooki突破GS

    文章目录 实验原理: 实验环境: 实验要求: 源程序: 实验原理: 修改.data中保存的cookie,然后替换掉检查时的cookie,即可绕过对cookie的检查! 实验环境: winxp sp3 ...

  2. C++ primer 第10章 泛型算法

    文章目录 概述 find count 初识泛型算法 只读算法 只读算法accumulate 只读算法equal 写容器元素的算法 算法fill 算法fill_n back_inserter 算法cop ...

  3. 《算法导论》读书笔记之第10章 基本数据结构之二叉树

    摘要 书中第10章10.4小节介绍了有根树,简单介绍了二叉树和分支数目无限制的有根树的存储结构,而没有关于二叉树的遍历过程.为此对二叉树做个简单的总结,介绍一下二叉树基本概念.性质.二叉树的存储结构和 ...

  4. SAS学习笔记(四)第8/9/10章

    一.可视化数据 1. ODS图形概述 在统计过程中使用图形: ods图形选项默认是开启的,若你发现是关闭的,则在将要运行的程序之前用以下语句开启:ods graphics on:则支持ods图形的统计 ...

  5. C++Primer 第10章lambda表达式

    C++Primer 第10章lambda表达式 泛型编程 咱们继续高歌猛进,下面我给大家继续讲关于算法的故事. 我们知道标准库容器中定义的算法大多数独立在算法之外,通常这些算法是通用的.它们可以处理不 ...

  6. C++Primer 第10章 bind与迭代器

    C++Primer 第10章 bind与迭代器 //10.20,10.22 #include<iostream> #include<vector> #include<st ...

  7. 学籍管理系统 c语言流程图,程序设计基础 ——C语言第10章 综合应用案例——学生学籍管理系统...

    程序设计基础 第 10章 综合应用 案例 -学生学籍 管理系统 1 详细设计 需求分析 总体设计 第 10章 综合应用 案例 -学生学籍管理系统 编码实现 运行结果 2 设计一个利用 文件 处理方式, ...

  8. C# 语言规范_版本5.0 (第10章 类)

    1. 类 类是一种数据结构,它可以包含数据成员(常量和字段).函数成员(方法.属性.事件.索引器.运算符.实例构造函数.静态构造函数和析构函数)以及嵌套类型.类类型支持继承,继承是一种机制,它使派生类 ...

  9. 翻译连载 | 第 10 章:异步的函数式(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...

    为什么80%的码农都做不了架构师?>>>    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS> ...

  10. 10-1-直接插入排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版

    课本源码部分 第10章  内部排序 - 直接插入排序 --<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴伟民版)课 ...

最新文章

  1. R语言应用str_match函数和str_match_all函数从字符串抽取匹配的字符串模式:str_match函数抽取第一个匹配的字符串模式、str_match_all函数抽取多个匹配的字符串模式
  2. android gridview 间隔线,Android开发之RecyclerView的间隔线处理
  3. 机器学习入门书籍导读-高等数学上
  4. 记一次生产事故-mysql执行update导致锁整表
  5. 双流棠湖中学怎么样_棠湖中学教师团队荣获四川省“最美教师团队”!
  6. 织梦 自定义属性 调用 php,dedecms通过增加自定义属性达到文章分类的效果
  7. Mysql(13)——left join和right join的用法
  8. 如何定位死循环或高CPU使用率(linux)
  9. CentOS新增用户并授予sudo权限
  10. 为什么0.1无法被二进制小数精确表示?
  11. 2021-2025年中国电动多用途越野车(UTV)行业市场供需与战略研究报告
  12. python库管理_Python中管理数据库
  13. numpy 转置_Python中Numpy.transpose()
  14. Unity脚本的生命周期
  15. 利用python分析微信聊天记录
  16. 破解数字化转型难题,华为云一站式大数据BI赋能企业发展
  17. 制图操作案例:ArcGIS Pro鹰眼图快速制图
  18. 【数据库基础】数据库的数据查询
  19. categories与set_categories
  20. 如何翻译DeepFaceLab(DeepFake)的交互式合成器

热门文章

  1. 源码目录变了,修改Eclipse配置:工作空间,JDK
  2. 软件对操作系统有要求?操作系统不符合要求你软件就不玩了?
  3. Etherpad配置及管理功能
  4. 点评复兴号超载无法运行的事件
  5. 安卓图片自适应的解决办法
  6. 给LINUX添加一个开机执行脚本
  7. 继承与data member之单一继承
  8. php jpgraph 中文,JPGraph 4.0(for PHP7)中文字体设置
  9. 语言余一个负数_Python 中负数取余问题
  10. mysql innodb 分区表_InnoDB的分区表