动态初始化二维数组使用vector
时间: 2023-06-22 18:16:17 浏览: 109
动态初始化二维数组可以使用std::vector。例如,我们可以先创建一个vector<vector<int>>,然后使用resize函数来指定其大小,就可以动态创建一个二维数组。
下面是一个示例代码:
```c++
#include <vector>
#include <iostream>
int main() {
// 创建一个3x4的二维数组
std::vector<std::vector<int>> arr(3, std::vector<int>(4));
// 对数组进行赋值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
arr[i][j] = i * j;
}
}
// 输出数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
输出结果为:
```
0 0 0 0
0 1 2 3
0 2 4 6
```
这个二维数组的大小是在运行时动态确定的,非常灵活。
相关问题
如何动态初始化二维数组
在C++中,可以使用vector<vector<int>>来动态初始化二维数组。示例代码如下:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n = 3, m = 4;
vector<vector<int>> a(n, vector<int>(m, 0));
// 上面的代码等价于下面的代码
// vector<vector<int>> a;
// for (int i = 0; i < n; i++) {
// vector<int> row(m, 0);
// a.push_back(row);
// }
a[1][2] = 3; // 对二维数组进行赋值
cout << a[1][2] << endl; // 输出二维数组中的元素
return 0;
}
```
在示例代码中,首先定义了一个3行4列的二维数组a,它的初始值全部为0。然后将a的第2行第3列的元素赋值为3,并输出该元素的值。
注意,在使用vector<vector<int>>动态初始化二维数组时,需要指定行数和列数,并且可以指定初始值。在访问二维数组中的元素时,可以使用a[i][j]的方式来进行访问。
初始化二维数组vector
你可以使用以下代码来初始化一个二维向量(vector):
```cpp
#include <iostream>
#include <vector>
int main() {
// 初始化一个3x3的二维向量
std::vector<std::vector<int>> matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 打印二维向量的元素
for (const auto& row : matrix) {
for (const auto& element : row) {
std::cout << element << " ";
}
std::cout << std::endl;
}
return 0;
}
```
这段代码将创建一个3x3的二维向量并初始化其元素。你可以根据需要改变矩阵的大小,并在花括号内提供相应数量的行和列的元素。输出将是:
```
1 2 3
4 5 6
7 8 9
```
希望这能帮到你!如果还有其他问题,请随时提问。