C++ vector之创建二维数组

头文件:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

申明二维数组:

vector<vector<int>>vec;//嵌套申明

此时的vec.size为0,空有其名,没有空间大小,并不能用来访问元素,此时可以向vec中添加一维向量
方案一:

vec.push_back(vector<int>());

vector()的()中可以添加参数vector(m,n),其中m为一维向量的大小,默认为0,n为一维向量中的元素,默认为0.
方案二:

vec.resize(1);

vec.resize()有两个参数(m,n),m为vec的大小,n为vector(),也就是申明vec时vector<>vec中尖括号之间的东西。
到此我们也可看出,vector二维数组其实就是一个嵌套,因此我们也可以这样理解:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
#define type vector < int >
#define type_size 6     //大小自定
#define type_value 3    //大小自定
#define vec_size 6      //大小自定
#define vec_value type(type_size,type_value)//参数可不要
int main()
{
    vector<type> vec(vec_size,vec_value);//申明二维向量,vec_size指定大小,vec_value指定初始值,两参数默认为0,都可不要
    vec.push_back(vec_value);            //添加一个一维向量
    vec.resize(vec_size, vec_value);     //重新指定二维向量的大小,不足的用vec_vauet(一维向量)填充
    return 0;
}

例如:
申明一个m*n的二维数组并初始化为0

vector<vector<int>>vec(m,vector<int>(n,0));    //m*n的二维vector,所有元素为0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值