📅  最后修改于: 2023-12-03 15:36:53.323000             🧑  作者: Mango
在C++中,通过使用std::vector<std::vector<T>>
来创建一个向量的向量(也称为二维向量)是十分常见的。
以下代码片段展示了如何创建一个二维向量并向其中添加元素:
#include <vector>
using namespace std;
int main() {
// 创建一个二维向量
vector<vector<int>> vec2d;
// 向二维向量中添加整数
for (int i = 0; i < 5; i++) {
vector<int> row;
for (int j = 0; j < 3; j++) {
row.push_back(i + j);
}
vec2d.push_back(row);
}
// 输出二维向量中的每个元素
for (int i = 0; i < vec2d.size(); i++) {
for (int j = 0; j < vec2d[i].size(); j++) {
cout << vec2d[i][j] << " ";
}
cout << endl;
}
return 0;
}
在上述代码中,我们首先创建一个std::vector<std::vector<int>>
类型的向量vec2d
。 接着对于每一个行向量,我们使用std::vector<int>
类型的向量row
来存储该行的数字,并向该行向量中添加数字。然后将这个行向量添加到vec2d
向量中,最终输出vec2d
中的每一个元素。
运行以上代码会得到以下输出:
0 1 2
1 2 3
2 3 4
3 4 5
4 5 6
如果我们想要创建大小为m x n
的二维向量,可以使用以下代码:
#include <vector>
using namespace std;
int main() {
int m = 5;
int n = 3;
// 创建一个 m x n 的二维向量
vector<vector<int>> vec2d(m, vector<int>(n));
// 向二维向量中添加整数
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
vec2d[i][j] = i + j;
}
}
// 输出二维向量中的每个元素
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout << vec2d[i][j] << " ";
}
cout << endl;
}
return 0;
}
在上述代码中,我们使用vector<vector<int>> vec2d(m, vector<int>(n))
来创建一个大小为m x n
的二维向量。 然后将数字添加到每一个元素中,并输出二维向量中的每一个元素。
运行以上代码会得到以下输出:
0 1 2
1 2 3
2 3 4
3 4 5
4 5 6
如果我们需要创建不规则的二维向量,即每一行的长度都可以不同,可以使用以下代码:
#include <vector>
using namespace std;
int main() {
// 创建一个不规则的二维向量
vector<vector<int>> vec2d = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};
// 输出二维向量中的每个元素
for (int i = 0; i < vec2d.size(); i++) {
for (int j = 0; j < vec2d[i].size(); j++) {
cout << vec2d[i][j] << " ";
}
cout << endl;
}
return 0;
}
在上述代码中,我们使用vector<vector<int>> vec2d = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}
来创建一个不规则的二维向量。然后输出二维向量中的每一个元素。
运行以上代码会得到以下输出:
1 2 3
4 5
6 7 8 9
以上就是在C++中创建向量的向量的介绍,希望对您有所帮助。