vector建立二维数组
时间: 2025-05-03 13:08:44 浏览: 62
### C++ 中使用 `vector` 创建二维数组
在 C++ 中,可以利用标准模板库中的 `vector` 来创建和管理二维数组。以下是几种常见的初始化方式:
#### 方法一:直接指定行列数并赋初值
通过定义一个包含多个相同长度的一维 `vector<int>` 的二维 `vector<vector<int>>` 可以方便地表示二维数组。
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 定义行数 r 和列数 c 并初始化所有元素为特定值 val
int r = 3, c = 4;
int val = 0;
vector<vector<int>> matrix(r, vector<int>(c, val));
```
这种方法简洁明了,在声明的同时完成了内存分配以及默认值设置[^3]。
#### 方法二:逐步填充数据
如果希望手动输入或计算每项数值,则可以通过循环结构来构建二维向量:
```cpp
#include <iostream>
#include <vector>
using namespace std;
void initializeMatrix(vector<vector<int>>& mat){
int rows = mat.size();
int cols = !mat.empty() ? mat[0].size() : 0;
cout << "Enter elements row by row:\n";
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cin >> mat[i][j];
}
}
}
int main(){
int m, n;
cout << "Input number of rows and columns: ";
cin >> m >> n;
vector<vector<int>> myMat(m, vector<int>(n));
initializeMatrix(myMat);
}
```
此段代码展示了如何先建立框架再填充值的过程[^1]。
#### 基本操作示例
对于已经存在的二维 `vector` ,还可以执行诸如访问单个元素、遍历整个表格等基本操作:
```cpp
// 访问第 i 行第 j 列的元素
cout << "Element at position (" << i << ", " << j << ") is " << matrix[i][j];
// 遍历打印全部内容
for(const auto& row : matrix){
for(int elem : row){
cout << elem << ' ';
}
cout << '\n';
}
```
上述例子说明了怎样读取和展示存储于 `vector<vector<int>>` 结构内的信息。
阅读全文
相关推荐




















