c++使用vector创建二维数组的方法
一次性定义
此种方法适用于每一行的列数都相等的二维数组的定义(与初始化)。
vector<vector<int>> matrix(m, vector<int>(n, -1));
vector<vector<int>> matrix(m);
vector<vector<int>> matrix(m, vector<int>(n));
vector<vector<int>> matrix(m, vector<int>(n, -1));
插入元素型定义
此种方法适用于每一行的列数都相等或不相等的二维数组的定义(与初始化)。
vector<vector<int>> matrix;
int m = 3;
int n = 10;
int value = 1;
for (int i = 0; i < m; ++ i) {
vector<int> tmp(n, value);
matrix.push_back(tmp);
}
vector<vector<int>> matrix;
vector<int> a(10, 1);
vector<int> b(5, 2);
vector<int> c(10, 3);
matrix.push_back(a);
matrix.push_back(b);
matrix.push_back(c);
resize扩充型定义
此种方法适用于每一行的列数都相等或不相等的二维数组的定义(与初始化)。
vector.resize函数的使用说明参考此文档。
vector<vector<int>> matrix(m);
for (int i = 0; i < m; ++ i) {
matrix[i].resize(10, 1);
}
|