二维vector初始化为1
时间: 2024-09-08 07:04:56 浏览: 79
Vector创建二维数组.zip
在C++中,可以使用几种不同的方法来初始化一个二维vector,并将其所有元素设置为1。以下是几种常见的初始化方式:
1. 使用循环进行初始化:
```cpp
#include <vector>
int main() {
int rows = 3, cols = 4; // 假设我们有3行4列的二维vector
std::vector<std::vector<int>> vec(rows, std::vector<int>(cols, 1));
return 0;
}
```
这段代码首先包含了头文件vector,然后在main函数中创建了一个行数为3,列数为4的二维vector,并将所有元素初始化为1。
2. 使用C++11的初始化列表(initializer list):
```cpp
#include <vector>
int main() {
std::vector<std::vector<int>> vec = {
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1}
};
return 0;
}
```
这种方法直接使用初始化列表,将二维vector中的每个子vector都初始化为包含四个1的列表。
3. 使用标准库函数std::fill:
```cpp
#include <vector>
#include <algorithm>
int main() {
int rows = 3, cols = 4;
std::vector<std::vector<int>> vec(rows, std::vector<int>(cols));
std::for_each(vec.begin(), vec.end(), [cols](std::vector<int>& row) {
std::fill(row.begin(), row.begin() + cols, 1);
});
return 0;
}
```
在这个例子中,我们首先创建了一个空的二维vector,然后使用std::for_each结合lambda表达式和std::fill函数来填充每个子vector,使其所有元素都是1。
以上方法都可以实现将二维vector的所有元素初始化为1的目的。
阅读全文