1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <string>
  5. #include <list>
  6. using namespace std;
  7.  
  8. //顺序容器的insert使用方法
  9. //顺序容器:vector,deque,list,forward_list,array,string
  10.  
  11. //-------------------------------------------------
  12. //array不支持这些操作
  13. //forward_list有自己专有版本号的insert
  14. //-------------------------------------------------
  15.  
  16. //1、c.insert(iter, val)
  17. //在迭代器iter指向的元素之前创建一个值为val的元素
  18. void ins1()
  19. {
  20. list<int> c{1,2,3,4};
  21. list<int>::iterator iter = c.begin();
  22. int val = 10;
  23. c.insert(iter, val);
  24. }
  25. //2、c.insert(iter, n, val)
  26. //在迭代器iter指向的元素之前插入n个值为val的元素
  27. void ins2()
  28. {
  29. list<int> c{1,2,3,4};
  30. list<int>::iterator iter = c.begin();
  31. int n = 3, val = 10;
  32. c.insert(iter, n, val);
  33. }
  34. //3、c.insert(iter, b, e)
  35. //将迭代器b和e指定的范围内的元素插入到迭代器iter指向的元素之前
  36. //注:b和e不能指向c中的元素
  37. void ins3()
  38. {
  39. list<int> c1{1,2,3,4};
  40. list<int> c2{5,6,7,8};
  41. auto iter = c1.begin();
  42. auto b = c2.begin(), e = c2.end();
  43. c1.insert(iter, b, e);
  44. }
  45. //4、c.insert(iter. il)
  46. //il是一个花括号包围的元素值列表,将这些给定的值插入到迭代器iter指向的元素之前
  47. void ins4()
  48. {
  49. list<int> c{1,2,3,4};
  50. auto iter = c.begin();
  51. c.insert(iter, {-3,-2,-1,0});
  52. }
  53. int main()
  54. {
  55. return 0;
  56. }

顺序容器的insert使用方法的更多相关文章

  1. c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作

    c/c++ 标准顺序容器 之 push_back,push_front,insert,emplace 操作 关键概念:向容器添加元素时,添加的是元素的拷贝,而不是对象本身.随后对容器中元素的任何改变都 ...

  2. C++ 顺序容器

    <C++ Primer 4th>读书笔记 顺序容器内的元素按其位置存储和访问.容器类共享公共的接口,每种容器类型提供一组不同的时间和功能折衷方案.通常不需要修改代码,只需改变类型声明,用一 ...

  3. C++ Primer : 第九章 : 顺序容器的操作以及迭代器失效问题

    顺序容器的添加.访问.删除操作以及forward_list的特殊操作,还有迭代器失效问题. 一.向容器添加元素 // array不支持这些操作 // forward_list有自己撰于的版本的inse ...

  4. C++ Primer 随笔 Chapter 9 顺序容器

     参考:http://www.cnblogs.com/kurtwang/archive/2010/08/19/1802912.html 1..顺序容器:vector(快速随机访问):list(快速插入 ...

  5. C++ Primer 5th 第9章 顺序容器

    练习9.1:对于下面的程序任务,vector.deque和list哪种容器最为适合?解释你的选择的理由.如果没有哪一种容器优于其他容器,也请解释理由.(a) 读取固定数量的单词,将它们按字典序插入到容 ...

  6. C++ Primer 读书笔记: 第9章 顺序容器

    第9章 顺序容器 引: 顺序容器: vector 支持快速随机访问 list 支持快速插入/删除 deque 双端队列 顺序容器适配器: stack 后进先出栈 queue 先进先出队列 priori ...

  7. STL顺序容器【vector】【deque】【list】

    我们都知道,stl在集装箱船分为两类,订购集装箱和相关的容器. 顺序容器有三种即动态数组vector,双端队列deque,以及链表list (对csdn的文字排版严重吐槽.写好的版发表了就变了) 一: ...

  8. 顺序容器----顺序容器操作,vector对象如何增长,额外的string操作,容器适配器

    一.顺序容器操作 1.向顺序容器添加元素 向顺序容器(array除外)添加元素的操作: 操作 说明 c.push_back(t) 在c的尾部创建一个值为t的元素.返回void c.emplace_ba ...

  9. [C++ Primer] 第9章: 顺序容器

    顺序容器概述 顺序容器的类型有: 类型 说明 vector 可变长度数组. 支持快速随机访问. deque 双端队列. 支持快速随机访问. list 双向链表. 只支持双向顺序访问. forward_ ...

随机推荐

  1. MFC之窗体改动工具栏编程状态栏编程程序启动画面

    1窗体外观的改动 (1)改动在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 改动标题:cs.style&=FWS_ADDTOTITLE; ...

  2. Linux 之 rsyslog

    Linux 之 rsyslog 系统日志转发 一.rsyslog 介绍 ryslog 是一个快速处理系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多 ...

  3. stm32f103 TIM1初始化--定时器应用

    //TIM1 分频 #define TIM1_DIV1 (1-1) #define TIM1_DIV2 (2-1) #define TIM1_DIV4 (4-1) #define TIM1_DIV8 ...

  4. Android笔记二十七.Service组件入门(一).什么是Service?

    转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.Service 1.Service简单介绍     Service为Android四大组件之中 ...

  5. FZU2181+poj2942(点双连通+判奇圈)

    分析:我们对于那些相互不憎恨的人连边,将每次参加会议的所有人(不一定是全部人,只需人数>=3且为奇数)看做一个点双联通分量,那么每个点都至少有两个点与他相邻.即需要保证双联通分量中存在奇圈.至于 ...

  6. Android动绘图标——I am not a gif maker,I am a developer

    最早在git上发现一个非常酷眩的动绘图标效果: https://github.com/xuyisheng/tickplusdrawable 不得不说,国外的程序猿在细节的考虑上,确实比我们要好非常多, ...

  7. asp.net EF6.0中出现未找到具有固定名称“System.Data.SqlClient”的 ADO.NET提供程序的实体框架提供程序解决办法

    出现的错误信息如下所示: 指定的架构无效.错误:  DataModel.ssdl(2,2) : 错误 0152: 未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提 ...

  8. Maven中Spring-Data-Redis存储对象(redisTemplate) (转)

    Redis是一种nosql数据库,在开发中常用做缓存.Jedis是Redis在java中的redis- client.在此之前,希望已经了解redis的基本使用和Maven的使用.建立Maven Pr ...

  9. HDU5015 233 Matrix(矩阵高速幂)

    HDU5015 233 Matrix(矩阵高速幂) 题目链接 题目大意: 给出n∗m矩阵,给出第一行a01, a02, a03 ...a0m (各自是233, 2333, 23333...), 再给定 ...

  10. JAVA 命令参数详解System.setProperty(

    JAVA 命令参数详解: 1.-D<name>=<value> set a system property  设置系统属性. java -D参数简化加入多个jar java命令 ...