• `vector`初始化方法
    • 一维向量
    • 二维向量
  • 参考

vector初始化方法

一维向量

#include <iostream>
#include <vector>using namespace std;// 定义遍历(输出)一维数组的函数
void print1d(vector<int> &v)
{for (vector<int>::iterator it = v.begin(); it < v.end(); ++it){cout << *it << " ";}cout << endl;
}void vector_1d()
{// 1. 初始化一维大小为10的向量vector<int> v1(10);// 遍历print1d(v1);// 向量元素默认全为0// 0 0 0 0 0 0 0 0 0 0 // 2. 给定初始值, 10个2vector<int> v2(10, 2);print1d(v2);// 2 2 2 2 2 2 2 2 2 2 // 3. 直接给定数据:C++11新标准, 下面两种写法均可vector<int> v3 {1,2,3,4,5};// vector<int> v3 = {1,2,3,4,5};print1d(v3);// 1 2 3 4 5 // 4. 通过数组首地址初始化, 需要有一个定义好的数组int arr[] = {1,2,3,4,5};vector<int> v4(arr, arr+3);print1d(v4);// 1 2 3 // 5. 拷贝构造函数// 5.1 直接拷贝vector<int> v5_1(v1);print1d(v5_1);// 0 0 0 0 0 0 0 0 0 0 // 5.2 左闭右开区间元素拷贝给容器本身vector<int> v5_2(v1.begin()+1, v1.end()-1);print1d(v5_2);// 0 0 0 0 0 0 0 0
}int main(int argc, char const *argv[])
{vector_1d();return 0;
}

二维向量

#include <iostream>
#include <vector>using namespace std;// 定义遍历二维数组的函数
void print2d(vector<vector<int> > &v)
{for (vector<vector<int> >::iterator it = v.begin(); it<v.end();++it){for (vector<int>::iterator vit = (*it).begin();vit<(*it).end();++vit){cout<<*vit<<" ";}cout<<endl;}
}void vector_2d()
{// 1. 直接初始化, 赋值时可采用向二维数组中添加一维数组的方法int row=3,col=4;// 生成一个3行4列的二维向量, 默认元素值均为0vector<vector<int> > v1(row, vector<int>(col));print2d(v1);/*0 0 0 0 0 0 0 0 0 0 0 0 */// 2. 初始化并赋初值(初始化的向量值全为指定值)vector<vector<int> > v2(row, vector<int>(col, 1));print2d(v2);/*1 1 1 1 1 1 1 1 1 1 1 1 */// 3. 使用resize()方法指定数组大小, 这里生成一个行数等于列数的二维数组(下三角阵)vector<vector<int> > v3;v3.resize(row); for (int k = 0; k < row; ++k)v3[k].resize(k + 1); //每行为k+1列print2d(v3);/*0 0 0 0 0 0 */// 4. C++11特性, 直接赋初值vector<vector<int> > v4{{1,2,3,4}, {2,3,4,5}, {3,4,5}};print2d(v4);/*1 2 3 4 2 3 4 5 3 4 5 */
}int main(int argc, char const *argv[])
{vector_2d();return 0;
}

参考

  1. C++ Vector数组初始化(一维,二维);

C++ STL容器vector篇(五) vector容器常用初始化操作总结(一维/二维)相关推荐

  1. C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历

    写在前面 存放内置数据类型 代码 存放自定义数据类型 代码 总结 写在前面 本文算是B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法(都在代码里了). 存放内置数据类型 以i ...

  2. C++ STL容器vector篇(三) vector容器大小和数组大小, 插入和删除元素, 存储和读取元素

    vector容器的大小(capacity)和存放数据的大小(size) #include <iostream> #include <vector>using namespace ...

  3. C++ STL容器vector篇(四) vector容器交换, 预留空间

    交换数组 作用: 在数组的内存分配过大时采用swap()函数可以回收被过多分配的空间, 减少内存占用 #include <iostream> #include <vector> ...

  4. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)

    群友反馈的一个问题: 运行报错: 这个主要是数组定义的有问题,二维数组初始化:如下这样 string[,] aaa = new string[10, 10]; 其次得确保data在截取Substrin ...

  5. Python遥感图像处理应用篇(十四):GDAL 读取多光谱数据为二维数组并存入csv文件

    1.使用数据 之前写过一遍文章是采用Arcgis读取多光谱数据为csv文件的,相对来说有一些麻烦,本文有个更简单一点的方法,使用python直接读取. 本文使用Landsat05数据,采用GEE下载的 ...

  6. vector 二维数组_go语言基础教程——数组与切片

    今天是golang专题的第五篇,这一篇我们将会了解golang中的数组和切片的使用. 数组与切片 golang当中数组和C++中的定义类似,除了变量类型写在后面. 比如我们要声明一个长度为10的int ...

  7. 一维与二维向量vector的使用

    在之前一段之间学习相机标定的时候,经常碰到二维向量,查阅了许多博客和相关书籍,书本上只提及到一维向量,二维向量没有相关介绍.网上的博客大多也都写的一知半解,很粗糙,晦涩难懂.今天在几篇好的博文中,又学 ...

  8. 二维vector的声明和初始化

    初始化二维vector 声明 m*n的二维vector: vector<vector<int>> vec(m,vector<int>(n)); 初始化m *n 的二 ...

  9. c++ vector转换成二维数组(C++ 函数返回二维数组)

    c++不能直接返回数组,可以返回指针,指针指向一个地址. float **convertVector2array(vector<float> v, int rows, int cols) ...

最新文章

  1. 学习官方示例 - System.TClass
  2. python【蓝桥杯vip练习题库】—BASIC-12十六进制转八进制
  3. 复旦大学跑步爱好者协会章程(终稿)
  4. OpenLayers加载搜狗地图
  5. GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean
  6. LeetCode 1636. 按照频率将数组升序排序(哈希+排序)
  7. matlab2012 powerlib,matlab没有powerlib2
  8. laraverl笔记
  9. UITableViewCell不重用代码
  10. Android框架之AsyncHttpClient
  11. 免费领取QQ音乐会员
  12. 【时间序列分析】01. 时间序列·平稳序列
  13. [c#源码分享]TCP通信中的大文件传送
  14. C++ endian转换
  15. 蛋蛋读NVMe之一:为什么刘备需要NVMe
  16. 你知道了区块链,现在该了解DCEP央行数字货币了
  17. nginx配置详细说明
  18. 11个并不广为人知,但值得了解的Python库
  19. python培训费用一般多少
  20. 比较全面的log4j配置

热门文章

  1. 33、JSONP跨域
  2. Repeater内部排序
  3. 前端自适应----单位rem
  4. win10下安装lxml
  5. Linux下性能测量和调试诊断工具Systemtap
  6. linux 下安装ftp服务器
  7. Python——eventlet.greenpool
  8. Tensorflow--图
  9. JerryScript:物联网开发者的得力工具
  10. 8大原则带你秒懂Happens-Before原则