c++ 二维vector全置零
时间: 2024-08-22 15:02:16 浏览: 86
在C++中,二维vector的全置零可以通过两种主要方式实现:
1. 使用嵌套循环遍历二维vector的每个元素,并将它们设置为0。这种方法直观且易于理解,适用于不熟悉STL算法的开发者。
```cpp
#include <vector>
int main() {
int rows = 3; // 假设有3行
int cols = 4; // 假设有4列
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols, 0)); // 初始化二维vector
// 使用嵌套循环遍历二维vector并置零
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
matrix[i][j] = 0;
}
}
// 此时matrix中的所有元素都为0
}
```
2. 使用标准库中的`std::fill`或`std::fill_n`函数。这种方法更简洁,可以减少代码量,但可能需要对STL算法有一定的了解。
```cpp
#include <vector>
#include <algorithm> // 引入算法库
int main() {
int rows = 3; // 假设有3行
int cols = 4; // 假设有4列
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols, 0)); // 初始化二维vector
// 使用std::fill_n对每个子vector调用std::fill
for (auto& row : matrix) {
std::fill(row.begin(), row.end(), 0); // 将当前行的元素全部置为0
}
// 此时matrix中的所有元素都为0
}
```
两种方法都可以实现二维vector的全置零,第一种方法更为直观,而第二种方法代码更加简洁。在实际编程中可以根据个人偏好和具体需求选择使用。
阅读全文
相关推荐


















