📜  c++ 用大小初始化向量的向量 - C++ (1)

📅  最后修改于: 2023-12-03 14:59:49.359000             🧑  作者: Mango

使用大小初始化向量的向量

在C++中,可以使用向量嵌套另一个向量来创建一个二维向量。初始化一个大小为n的向量的向量,也就是一个二维向量,可以使用以下两种方法:

方法一:使用嵌套向量的构造函数
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n = 4, m = 3;
    vector<vector<int>> v(n, vector<int>(m));

    //输出二维向量
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << v[i][j] << " ";
        cout << endl;
    }

    return 0;
}

以上代码中,vector<vector<int>>表示一个二维向量,第一个vector<int>表示一个一维向量。

构造函数vector<vector<int>> v(n, vector<int>(m))中的n表示一维向量v的大小,vector<int>(m)表示每个一维向量的大小。

以上代码输出的结果为:

0 0 0
0 0 0
0 0 0
0 0 0
方法二:使用resize方法
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n = 4, m = 3;
    vector<vector<int>> v;

    v.resize(n);
    for (int i = 0; i < n; i++)
        v[i].resize(m);

    //输出二维向量
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << v[i][j] << " ";
        cout << endl;
    }

    return 0;
}

以上代码中,v.resize(n)表示将二维向量v的大小设置为n,然后对每个一维向量使用resize方法设置大小为m

以上代码输出的结果同上一种方法。

两种方法的实现效果相同,但构造函数的方法更加简单方便。