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

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

向量的向量

在 C++ 中,向量是一种动态数组,可以在运行时增加或减少其大小。而向量的向量就是指向量的元素也是向量。本文将介绍如何在 C++ 中创建和使用向量的向量。

创建向量的向量

创建向量的向量与创建普通向量一样简单,只需要在申明时指定元素的类型即可。下面是一个示例代码:

#include <iostream>
#include <vector>

int main() {
    std::vector<std::vector<int>> vec_of_vecs;
    vec_of_vecs.push_back(std::vector<int>{1, 2, 3});
    vec_of_vecs.push_back(std::vector<int>{4, 5, 6, 7});

    for (const auto& vec : vec_of_vecs) {
        for (const auto& elem : vec) {
            std::cout << elem << " ";
        }
        std::cout << std::endl;
    }
    return 0;
}

在上述代码中,我们创建了一个名为 vec_of_vecs 的向量的向量,并向其添加了两个元素(向量)。然后,我们使用两个嵌套的循环遍历所有元素并打印它们。

向量的向量的操作

由于向量的向量本质上是一个二维数组,因此可以执行与普通数组相同的操作。以下是一些示例:

访问元素

要访问向量的向量中的元素,可以使用嵌套的下标运算符。下面是一个示例代码:

std::vector<std::vector<int>> vec_of_vecs{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int elem = vec_of_vecs[1][2];
std::cout << elem << std::endl; // 输出:6

在上述代码中,我们创建了一个向量的向量并访问了其第二个元素的第三个元素。

添加元素

要添加向量的向量中的元素,可以使用 push_back 方法。以下是一些示例代码:

std::vector<std::vector<int>> vec_of_vecs;
vec_of_vecs.push_back(std::vector<int>{1, 2, 3});

std::vector<int> new_vec{4, 5, 6};
vec_of_vecs.push_back(new_vec);

在上述代码中,我们向一个空的向量的向量中添加了两个元素(向量)。

删除元素

要删除向量的向量中的元素,可以使用 erase 方法。以下是一些示例代码:

std::vector<std::vector<int>> vec_of_vecs{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
vec_of_vecs.erase(vec_of_vecs.begin() + 1);

在上述代码中,我们从向量的向量中删除了第二个元素。

结论

向量的向量是一种非常有用的数据结构,可以用于处理各种复杂的数据。借助 C++ 的向量类,可以方便地创建和操作向量的向量。希望读者通过本文了解了向量的向量的基础知识。