📜  初始化 2D 向量 - C++ (1)

📅  最后修改于: 2023-12-03 15:07:13.295000             🧑  作者: Mango

初始化 2D 向量 - C++

在C++中,使用std::vector来表示2D向量是一种常见的做法。本文将介绍多种初始化2D向量的方法。

方法一:使用二维数组初始化vector

可以通过将一个已经初始化好的二维数组赋值给std::vector<std::vector<int>>来初始化一个2D向量。示例代码如下:

const int ROWS = 2;
const int COLS = 3;
int arr[ROWS][COLS] = {
    {1, 2, 3},
    {4, 5, 6}
};
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
for(int i = 0; i < ROWS; ++i) {
    vec[i] = std::vector<int>(arr[i], arr[i] + COLS);
}
方法二:使用嵌套循环初始化vector

可以使用嵌套的for循环来初始化一个2D向量。示例代码如下:

const int ROWS = 2;
const int COLS = 3;
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
for(int i = 0; i < ROWS; ++i) {
    for(int j = 0; j < COLS; ++j) {
        vec[i][j] = i * COLS + j + 1;
    }
}
方法三:使用初始化列表初始化vector

可以使用初始化列表来初始化一个2D向量,这样代码看起来更加简洁。示例代码如下:

std::vector<std::vector<int>> vec = {
    {1, 2, 3},
    {4, 5, 6}
};
方法四:使用fill初始化vector

可以使用std::fill函数来初始化一个2D向量。示例代码如下:

const int ROWS = 2;
const int COLS = 3;
std::vector<std::vector<int>> vec(ROWS, std::vector<int>(COLS));
std::fill(vec.begin(), vec.end(), std::vector<int>(COLS, 0));
结语

这篇文章介绍了多种初始化2D向量的方法,希望对大家有所帮助。