C++ | vector二维数组的初始化与行、列数的获取

如果直接使用vector > v;创建二维数组,那么就会得到一个空的容器,这样再通过push_back赋值是非常麻烦的。

初始化二维数组

在此介绍二维数组初始化的一般操作。


首先看一维数组的初始化示例:
定义一个长度为n(正整数)的int类型一维数组v

vector<int> v(n);

定义一个长度为nint类型一维数组v,并将其所有元素赋值为1:

vector<int> v(n,1);

在此基础上,二维数组的初始化示例如下:

//创建2*3二维数组,并将数组元素的值都设为1
vector<vector<int>> v(2, vector<int>(3, 1));

二维数组的行数、列数

二维数组的行数为数组第一维的长度:

vector<vector<int>> v(2, vector<int>(3, 1));
int row=v.size();

在列数相同的二维数组中,列数为任意一行的长度(一般取第一行):

vector<vector<int>> v(2, vector<int>(3, 1));
int col=v[0].size();

示例

#include
#include
using namespace std;
int main()
{
	vector<vector<int> > a(2,vector<int>(3,5));
	//初始化一个2*3的数组,将所有元素赋值为5
	int row=a.size();
	int col=a[0].size();
	cout<<"row:"<<row<<' '<<"col:"<<col;
	for(int i=0;i<row;i+=1){
		cout<<'\n';
		for(int j=0;j<col;j+=1)
			cout<<a[i][j]<<' ';
	}
	return 0;
}

运行结果:
C++ | vector二维数组的初始化与行、列数的获取_第1张图片

你可能感兴趣的:(C/C++,c++)