c++中vector<vector<>>如何打印
时间: 2023-07-19 08:23:33 浏览: 130
在C++中,可以使用嵌套的for循环来遍历和输出二维vector容器中的元素。例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
// 定义和初始化一个二维vector容器
vector<vector<int>> vec{{1, 2}, {3, 4, 5}, {6}, {7, 8, 9, 10}};
// 遍历并输出二维vector容器中的元素
for (int i = 0; i < vec.size(); i++)
{
for (int j = 0; j < vec[i].size(); j++)
{
cout << vec[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在上面的代码中,首先定义和初始化一个二维vector容器vec,包含4个vector子容器,每个子容器中包含不同数量的整数元素。然后使用嵌套的for循环遍历二维vector容器中的元素,并使用cout输出每个元素的值。内层的for循环用于遍历每个vector子容器中的元素。外层的for循环用于遍历所有子容器。输出结果为:
```
1 2
3 4 5
6
7 8 9 10
```
类似地,可以使用更多的for循环来遍历和输出更高维度的vector容器。
相关问题
c++ 如何删除vector<vector <>> 指定结构体元素vector <>
如果你想删除一个 `vector<vector<>>` 中的某个指定结构体元素 `vector<>`,你可以使用 C++ 中的 `erase` 函数来实现。
首先,你需要找到要删除的元素的位置。假设你要删除的元素是 `my_vector` 中的第 `i` 个元素,那么你可以使用以下代码来获取要删除的元素的迭代器:
```c++
auto it = my_vector.begin() + i;
```
接下来,你可以使用 `erase` 函数来删除这个元素。如果这个元素是一个 `vector<>`,那么你需要传递两个迭代器,分别表示该 `vector<>` 的开始和结束位置。因此,你可以使用以下代码来删除该元素:
```c++
my_vector.erase(it, it + 1);
```
这个函数会删除 `my_vector` 中从 `it` 开始的 1 个元素,也就是你要删除的那个元素。注意,这个函数返回一个迭代器,指向被删除元素的下一个元素。由于你只删除了一个元素,因此这个迭代器应该等于 `my_vector.begin() + i`。
oracle中<>是什么意思,c++中vector<int>和vector<int*>的用法区别
在Oracle中,<>符号表示不等于,用于进行比较运算。
而在C++中,vector<int>表示一个动态数组,其中存储的是int类型的数据;而vector<int*>表示一个动态数组,其中存储的是指向int类型的指针。两者的区别在于,vector<int>中存储的是实际的int数值,而vector<int*>中存储的是指向int数值的指针地址,需要通过解引用操作才能获取到实际数值。同时,vector<int>在内存中是连续存储的,而vector<int*>中存储的是指针地址,不一定是连续的。
阅读全文