📅  最后修改于: 2023-12-03 14:59:49.359000             🧑  作者: Mango
在C++中,可以使用向量嵌套另一个向量来创建一个二维向量。初始化一个大小为n的向量的向量,也就是一个二维向量,可以使用以下两种方法:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n = 4, m = 3;
vector<vector<int>> v(n, vector<int>(m));
//输出二维向量
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
cout << v[i][j] << " ";
cout << endl;
}
return 0;
}
以上代码中,vector<vector<int>>
表示一个二维向量,第一个vector<int>
表示一个一维向量。
构造函数vector<vector<int>> v(n, vector<int>(m))
中的n
表示一维向量v
的大小,vector<int>(m)
表示每个一维向量的大小。
以上代码输出的结果为:
0 0 0
0 0 0
0 0 0
0 0 0
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n = 4, m = 3;
vector<vector<int>> v;
v.resize(n);
for (int i = 0; i < n; i++)
v[i].resize(m);
//输出二维向量
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
cout << v[i][j] << " ";
cout << endl;
}
return 0;
}
以上代码中,v.resize(n)
表示将二维向量v
的大小设置为n
,然后对每个一维向量使用resize
方法设置大小为m
。
以上代码输出的结果同上一种方法。
两种方法的实现效果相同,但构造函数的方法更加简单方便。