📜  创建向量的向量 c++ (1)

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

创建向量的向量

在C++中,通过使用std::vector<std::vector<T>>来创建一个向量的向量(也称为二维向量)是十分常见的。

创建二维向量

以下代码片段展示了如何创建一个二维向量并向其中添加元素:

#include <vector>
using namespace std;

int main() {
    // 创建一个二维向量
    vector<vector<int>> vec2d;

    // 向二维向量中添加整数
    for (int i = 0; i < 5; i++) {
        vector<int> row;
        for (int j = 0; j < 3; j++) {
            row.push_back(i + j);
        }
        vec2d.push_back(row);
    }

    // 输出二维向量中的每个元素
    for (int i = 0; i < vec2d.size(); i++) {
        for (int j = 0; j < vec2d[i].size(); j++) {
            cout << vec2d[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

在上述代码中,我们首先创建一个std::vector<std::vector<int>>类型的向量vec2d。 接着对于每一个行向量,我们使用std::vector<int>类型的向量row来存储该行的数字,并向该行向量中添加数字。然后将这个行向量添加到vec2d向量中,最终输出vec2d中的每一个元素。

运行以上代码会得到以下输出:

0 1 2 
1 2 3 
2 3 4 
3 4 5 
4 5 6 
创建指定大小的二维向量

如果我们想要创建大小为m x n的二维向量,可以使用以下代码:

#include <vector>
using namespace std;

int main() {
    int m = 5;
    int n = 3;
    // 创建一个 m x n 的二维向量
    vector<vector<int>> vec2d(m, vector<int>(n));

    // 向二维向量中添加整数
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            vec2d[i][j] = i + j;
        }
    }

    // 输出二维向量中的每个元素
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            cout << vec2d[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

在上述代码中,我们使用vector<vector<int>> vec2d(m, vector<int>(n))来创建一个大小为m x n的二维向量。 然后将数字添加到每一个元素中,并输出二维向量中的每一个元素。

运行以上代码会得到以下输出:

0 1 2 
1 2 3 
2 3 4 
3 4 5 
4 5 6 
创建不规则的二维向量

如果我们需要创建不规则的二维向量,即每一行的长度都可以不同,可以使用以下代码:

#include <vector>
using namespace std;

int main() {
    // 创建一个不规则的二维向量
    vector<vector<int>> vec2d = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};

    // 输出二维向量中的每个元素
    for (int i = 0; i < vec2d.size(); i++) {
        for (int j = 0; j < vec2d[i].size(); j++) {
            cout << vec2d[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

在上述代码中,我们使用vector<vector<int>> vec2d = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}来创建一个不规则的二维向量。然后输出二维向量中的每一个元素。

运行以上代码会得到以下输出:

1 2 3 
4 5 
6 7 8 9 

以上就是在C++中创建向量的向量的介绍,希望对您有所帮助。