二维vector数组初始化方法
在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错。
通常情况下,可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素初值,并把它赋给容器中的所有元素。这个初值由vector对象中元素的类型决定。
二维数组初始化方法目前有以下两种:
第一种初始化方法(以元素类型为int为例)
初始化为1:
vector<vector<int>> vec(row, vector<int> (col,1));
第二种初始化方法
初始化为1:
vector<vector<int>> vec;vec.resize(row);for(int i = 0; i < vec.size(); i++) {vec[i].resize(col);}for(int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {vec[i][j] = 1;}}
完整程序
#include <iostream>
#include <vector>
using namespace std;void print(const vector<vector<int>> vec)
{for(int i = 0; i < vec.size(); i++) {for(int j = 0; j < vec[0].size(); j++) {cout<<vec[i][j]<<"\t"; if(j == vec[0].size() - 1)cout<<endl;}}
}
int main()
{int row = 9;int col = 9;//vector<vector<int>> vec(row, vector<int> (col,1));vector<vector<int>> vec;vec.resize(row);for(int i = 0; i < vec.size(); i++) {vec[i].resize(col);}for(int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {vec[i][j] = 2;}}print(vec);
}
效果
二维vector数组初始化方法相关推荐
- C++ 动态二维数组(二维vector)
创建二维数组: vector<int> vec(4,2); //将含有4个数据的一维动态数组初始为2 vector< vector<int> > asd1(row, ...
- c语言二维vector大小,vector作为二维数组
vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小. 这里只介绍用它来代替二维的数组,二维以上的可以依此类推. ...
- 二维数组传入函数_C++二维动态数组memset()函数初始化
来源:https://blog.csdn.net/longhopefor/article/details/20994919 先说说memset函数: void *memset(void *s,int ...
- 二维vector的声明和初始化
初始化二维vector 声明 m*n的二维vector: vector<vector<int>> vec(m,vector<int>(n)); 初始化m *n 的二 ...
- 二维三维四维vector乃至多维vector数组的建立
二维vector的建立方式如下 vector<vector<int>> a(n,vector<int>(n)); 三维vector的建立方式如下 vector< ...
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的
<c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...
- C++ 二维vector初始化、resize()
二维vector初始化 1.定义时就设置大小.初值 vector<vector<int> > v(2, vector<int>(4,1));//2行*4列,初始化为 ...
- php 二维数组 随机排序_PHP二维数组排序简单实现方法
本文实例讲述了PHP二维数组排序简单实现方法.分享给大家供大家参考,具体如下: function multi_compare($a, $b) { $val_arr = array( 'gold'=&g ...
- 二维vector不能用直接访问的方式赋值,要pushback进去
对于二维vector可以使用push_back的方法进行赋值,先push_back出一维数组,再将这个一维数组push_back进二维数组. 直接访问的vector[][]方式可以访问数组,不过不能写 ...
最新文章
- 咏南LINUX中间件
- 一文读懂并发与并行,同步与异步阻塞
- scala中的算术符重载代码详细解释
- 2.24 js处理内嵌div滚动条
- C++对象模型3--无重写的单继承
- Spark学习之Spark Streaming(9)
- github视频教程-02 建立项目仓库以及代码上传
- oracle日期时间函数
- 如何裁剪gif动图的尺寸?仅需三步即可快速裁剪动图
- 使用PS更改照片的背景色
- mysql查看表内容_在mysql中怎样显示表里的内容 ?
- 一丶exit(1)丶exit(0)和return的区别
- oracle缩小数据文件大小,怎样将数据文件的大小变小
- 快应用的用法和常见问题解答(上)
- 微信小程序开发之——个人中心-个人资料修改(7)
- 金华职业技术学院计算机教研室主任,机械技术系主任及教师赴金华职业技术学院走访调研...
- Windows下的远程命令行工具pstools
- 利用MRT进行多年LAI数据(MOD15A2)拼接和投影转换
- 编译的学习和实践日志二[我的目标是]
- 628 小媛在努力【水题】
热门文章
- PayPal/Stripe/Square轮询收单系统 stripe paymentlink支付模式
- javascript中使用枚举定义一个对象进行数据转换
- 【DP】西北大学集训队选拔赛(重现赛) B 饱和式救援
- 宁选“范跑跑”,不要“郭跳跳”
- cocos2d-html5游戏图片资源选择
- [XCTF] [NJUPT CTF 2017] maze
- 数据结构1800试题(第1章)
- 数据结构1800关于图的代码精选(二)
- js正则表达式过滤表情,输入法表情无法匹配,则反向判断
- 社交软件Soul撤回IPO申请:上市只差临门一脚 腾讯是大股东