📅  最后修改于: 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++ 的向量类,可以方便地创建和操作向量的向量。希望读者通过本文了解了向量的向量的基础知识。