C++ vector优点和用法

优点:提供了很多现有函数,可以直接调用,空间大小浮动(与静态数组相比优势)

用法:见blog c++详细用法

初始化之前:即获得空间以前不能访问。

vector<int> a;
for(int i=0;i<10;i++)a[i]=i;

访问错误,改为:

vector<int> a(10);
for(int i=0;i<a.size()-1;i++)a[i]=i;

动态操作:

vector<int> a;
for(int i=0;i<10;i++)
a.push_back(i);

高维vector:blog有详细介绍
初始化:

vector<vector<int> > b(10,vector<int>(5));

访问:(和一维vector一样)

for(int i=0;i<b1.size();i++){for(int j=0;j<b1[0].size();j++){b1[i][j]=j-i;cout<<b1[i][j]<<"  ";}cout<<endl;}

Vector作为函数调用的一部分使用经验

一共两种方法
1.作为参数传入

void Func(vector<int> &a,..>;

2.作为返回值

vector<int> func(..);

推荐使用第一种,第二种在递归的时候很难使用,必须将定义的vector置于函数外部,否则无效。比如:

vector<int> func(..){vector<int> temp;...func();
}

每次都会创建temp,不好用,得把vector<int> temp;置于函数外部,全局变量,效果才好。
写两个示例:

vector<int> a;
vector<int> inOrder(Node *root){ //递归下,vector不能这样传入,必须引用传入 if(root==NULL){return a;}a=inOrder(root->LC);a.push_back(root->val);
//  cout<<root->val<<" ";a=inOrder(root->RC);return a;
}
void inOrder(Node *root,vector<int> &a){if(root==NULL){return ;}inOrder(root->LC,a);a.push_back(root->val);
//  cout<<root->val<<" ";inOrder(root->RC,a);}
vector<int> fun1(int num)
{vector<int> values;for(int j=0;j<num;j++){values.push_back(j);}return values;
}

C++ vector用法和传参相关推荐

  1. c++ 函数vector传参

    vector和数组不一样,数组本身和指针差不多,所以传进去的就是一个指针.但是vector并不如此 vector传参的三种方式: void func1(vector vet); //传送数值 void ...

  2. C#进阶系列——WebApi 接口参数不再困惑:传参详解

    看这边文章时的疑惑是:WebApi中的参数加了[FromBody],不知所以然,就百度了下,看到了以下文章,和大家分享下: 原文链接:http://www.cnblogs.com/landeanfen ...

  3. 5.springMVC数据回显(就是后台向页面传参的过程)

    视频教程地址:http://edu.51cto.com/sd/2cfc2 数据回显其实就是指后台像前台传参的一个过程,这里介绍几种常见的数据回显: 1.springMVC会自动回显的实体类 2.常见的 ...

  4. c++11 多线程传参和生产者消费者实现

    普通函数传参和成员函数传参 #include <iostream> #include <thread> #include <windows.h> void func ...

  5. WebApi 接口参数不再困惑:传参详解

    阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4."怪异"的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4 ...

  6. Angular父子组件通过服务传参

    今天在使用ngx-translate做多语言的时候遇到了一个问题,需要在登录页面点击按钮,然后调用父组件中的一个方法. 一开始想到了@input和@output,然而由于并不是单纯的父子组件关系,而是 ...

  7. Flask mysql 模版传参_Flask渲染Jinja2模板和传参

    ### Flask渲染Jinja2模板和传参: 1. 如何渲染模板: * 模板放在`templates`文件夹下 * 从`flask`中导入`render_template`函数. * 在视图函数中, ...

  8. 【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解

    阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4."怪异"的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4 ...

  9. 《从缺陷中学习C/C++》——6.3 数组传参时的sizeof

    本节书摘来自异步社区出版社<从缺陷中学习C/C++>一书中的第6章,第6.3节,作者: 刘新浙 , 刘玲 , 王超 , 李敬娜 , ,更多章节内容可以访问云栖社区"异步社区&qu ...

最新文章

  1. R构建加权最小二乘回归模型(Weighted Least Squares Regression)
  2. 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?
  3. 《JavaScript DOM 编程艺术》 读书笔记
  4. 以其他控制器为目标 在视图中生成输出URL
  5. Linux——Windows连接CentOS XRDP 错误信息(login failed for display 0)
  6. linux下模仿用户左键,linux 鼠标左右键互换实现代码
  7. 2019.03.29 NOIP训练 友好国度(点分治+容斥)
  8. 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署
  9. 软件设计:表达组织中的上下级关系
  10. 当大数据遇上“智慧园区”会怎样?
  11. 【Aspose-CAD for Java】DWG如何优雅的转换成PDF文档!
  12. IDEA反编译java.class文件
  13. python爬取京东商品信息_python爬虫:爬取京东商品信息
  14. java 一年有多少周_用java怎么计算当前年有多少周
  15. ubuntu 19.10 建立拨号连接(PPPoE)
  16. 两种方法用宏定义写出swap(x,y)
  17. 棋盘格相机标定图片拍摄方法
  18. vue 全景图 photo-sphere-viewer 实现
  19. 2020/09/29 鼠标移入 显示二维码或图片 移出隐藏
  20. 用友U8如何调整凭证打印模板

热门文章

  1. OpenLooKeng / Presto Connector原理
  2. Matlab 生物节律作图软件
  3. css图片居中(水平居中和垂直居中)
  4. 35.Python修炼之路【40-视图】2018.06.05
  5. quotename的用法
  6. java转义字符问题
  7. .net core微服务入门之Polly
  8. 被砍的功能又改回来了:微信新功能大盘点
  9. SpringMVC中的文件上传与下载
  10. 雪崩光电二极管推动汽车行业发展