vector

c++的vector的使用方法,创建,初始化,插入,删除等。

  1. #include "ex_vector.h"
  2. #include <iostream>
  3. #include <vector>
  4. #include <string>
  5. using namespace std;
  6. void ex_vector01_main()
  7. {
  8. //#######################################################################################
  9. //初始化vector的方法
  10. vector<int> v1; //v1是一个空vector,它的潜在元素是int类型的,执行默认初始化
  11. vector<int> v2(v1); //v2包含v1所有元素的副本
  12. //这里尝试先给v1添加元素,后看看v2是什么情况
  13. vector<int> v22 = v1; //等价于v2(v1),v2包含v1所有元素的副本
  14. vector<float> v3(10, 11.0); //v3包含10个重复的元素,每个元素的值都是11
  15. vector<int> v4(10); //v4包含了10个重复执行了值初始化的对象
  16. vector<string> v5{ "a","b","cc","d" }; //v5包含了4个元素
  17. vector<string> v55 = { "a","b","cc","d" }; //等价于v5{ "a","b","cc","d" };
  18. //#######################################################################################
  19. //初始化使用圆括号和花括号的区别
  20. //使用圆括号是,提供的值是用来构造vector对象的
  21. //使用花括号是,想用列表初始化vector对象的,初始化过程会尽可能的把花括号内的值当做是元素的初始
  22. // 值的列表来处理,只有在无法执行列表初始化的时候才会尽可能的考虑其他初始化的方式
  23. vector<int> va1(10); //va1有10个元素,每个值都是0
  24. vector<int> va2{ 10 }; //va2有1个元素,该元素的值是10
  25. vector<int> va3(10, 1); //va3有10个元素,每个的值都是1
  26. vector<int> va4{ 10,1 };//va4有两个元素,值分别是10,1
  27. vector<string> va5{ "hi" }; //列表初始化:va5有一个元素
  28. //vector<string> va6("hi"); //错误,不能使用字符串字面值构建vector对象
  29. //这种就是不使用花括号内的值来初始化对象
  30. vector<string> va7{ 10 }; //va7有10个默认初始化的元素
  31. vector<string> va8{ 10,"hi" }; //va8有10个值为"hi"的元素
  32. //#######################################################################################
  33. //向vector中添加元素
  34. //最常见的一种方式就是先定义一个空的vector,然后当运行时在逐一添加。
  35. vector<int> vb1(2, 100);
  36. for (int i = 0; i < 10; i++)
  37. {
  38. vb1.push_back(i);//依次把整数数值添加到vb2的末尾
  39. }
  40. if (vb1.empty())
  41. {
  42. cout << "vb1 is empty" << endl;
  43. }
  44. else
  45. {
  46. cout << "第一种循环方法:"<<endl;
  47. cout << "vb1 have " << vb1.size() << " elements" << endl;
  48. for (int i = 0; i < 10; i++)
  49. {
  50. cout << vb1[i] << ", ";
  51. }
  52. cout<<endl;
  53. cout << "第二种循环方法:"<<endl;
  54. for(int &i:vb1)
  55. cout<<i<<", ";
  56. cout<<endl;
  57. for(auto &i:vb1)
  58. cout<<i<<", ";
  59. cout<<endl;
  60. }
  61. }

更多内容详见我的个人主页:

国内主页

国外主页

C++的vector的使用方法的更多相关文章

  1. C++-二维vector初始化大小方法-备忘

    来源: C++——二维vector初始化大小方法 1.直接用初始化方法 名字为vec,大小为n*m,初始值为0的二维vector. vector<vector<)); 2.用resize( ...

  2. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  3. Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别

    本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...

  4. vector 初始化所有方法

    简介:vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性.而且vector是STL推 ...

  5. vector数据查找方法

    用STL编敲代码时常常使用vector容器来存储数据.当容器中的数据有序时我们能够採取两种方式: (1) 利用<algorithm>中的find函数进行查找: (2) 折半查找. 另外也能 ...

  6. c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    来源:http://www.jb51.net/article/44231.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-08我要评论 vector是向量类型,它可以容纳许多类 ...

  7. C++ 中vector的使用方法(转)

    原地址:http://blog.csdn.net/duan19920101/article/details/50617190/ 在c++中,vector是一个十分有用的容器. 作用:它能够像容器一样存 ...

  8. C++——二维vector初始化大小方法

    初始化二维vector,为r*c的vector,所有值为0.1.直接用初始化方法(刚开始没想到) vector<vector<int> > newOne(r, vector&l ...

  9. C++关于容器vector的使用方法以及#ifdef #else #endif #if #ifndef 的使用

    //此处根据0还是1来判断具体使用那一段主函数 #if 1 #define WAY #endif #ifdef WAY #include <iostream> #include<st ...

随机推荐

  1. xxl-job搭建、部署、SpringBoot集成xxl-job

    一.搭建xxl-job 1.下载xxl-job代码 码云地址:https://gitee.com/xuxueli0323/xxl-job gitHub地址:https://github.com/xux ...

  2. keras训练实例-python实现

    用keras训练模型并实时显示loss/acc曲线,(重要的事情说三遍:实时!实时!实时!)实时导出loss/acc数值(导出的方法就是实时把loss/acc等写到一个文本文件中,其他模块如前端调用时 ...

  3. html+css快速入门教程(5)

    练习: 1.画盒子1 2.画盒子2 3.京东特色购物 4.京东发现好货 5.京东玩3c 7.3 定位 通过使用 position 属性,我们可以选择 3 种不同类型的定位,这会影响元素框生成的方式. ...

  4. GIT更换连接方式

    1-使用 git remote -v 查看对应的克隆地址: git remote -v origin https://github.com/username/repository.git (fetch ...

  5. 《MapReduce: Simplified Data Processing on Large Clusters》论文研读

    MapReduce 论文研读 说明:本文为论文 <MapReduce: Simplified Data Processing on Large Clusters> 的个人理解,难免有理解不 ...

  6. CSS居中对齐

    CSS实现居中对齐的几种方式 页面布局中,居中对齐是我们经常遇到的场景,现在总结几个常用的方式供大家参考. 场景一:按钮文字居中对齐,line-height + text-align html代码: ...

  7. html中map area 热区自适应的原生js实现方案

    在做自适应网页的时候,如果在图片中使用了热区map.图片可以通过样式实现:图片大小随页面变化,但是MAP中每个area的坐标并不能通过css直接实现自适应.这篇文章就介绍通过原生js来实现:MAP中每 ...

  8. Java贪吃蛇小游戏

    贪吃蛇 思路 首先构思游戏布局,计算合理的坐标系. 绘制静态数据(广告.初始小蛇.提示信息.棋盘) 添加键盘监听事件,改变游戏状态以及小蛇运动方向 添加定时器,让小蛇在一段时间内移动一定的距离 随机产 ...

  9. 【API进阶之路6】一个技术盲点,差点让整个项目翻车

    上次教了实习生一个方案之后,这小子跟运营妹子的关系是越走越近,时不时地撒把狗粮,在我司真正实现了研发运营一家亲~(上回你没看?戳上文剧情回顾:万万没想到,一个技术方案帮实习生追到了运营妹子) 这回想跟 ...

  10. 「疫期集训day0」启程

    看了看几乎所有学长都是写的博客,所以写的博客 由于是第一回集训,考得都是老题(虽然有些还不会) 感受1:我调试好蒻呃,调试巨蒻,T1lis模板5分切,结果T2T3T4调了将近了两个小时,先是T2路径输 ...