c++中vector<vector<>>如何打印
时间: 2023-07-19 18:23:33 浏览: 54
在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<>的一些相关函数
在C++中,`vector<>`是一个动态数组容器,提供了许多有用的函数来操作和管理其元素。下面是一些常用的`vector<>`相关函数:
1. `push_back(element)`: 向`vector<>`的末尾添加一个元素。
```cpp
std::vector<int> vec;
vec.push_back(10);
```
2. `pop_back()`: 删除`vector<>`的末尾元素。
```cpp
std::vector<int> vec = {1, 2, 3};
vec.pop_back();
```
3. `size()`: 返回`vector<>`中元素的数量。
```cpp
std::vector<int> vec = {1, 2, 3};
int size = vec.size();
```
4. `empty()`: 检查`vector<>`是否为空。如果为空,则返回`true`;否则返回`false`。
```cpp
std::vector<int> vec;
bool isEmpty = vec.empty();
```
5. `at(index)`: 返回索引为`index`的元素的引用。
```cpp
std::vector<int> vec = {1, 2, 3};
int element = vec.at(1);
```
6. `front()`: 返回`vector<>`的第一个元素的引用。
```cpp
std::vector<int> vec = {1, 2, 3};
int firstElement = vec.front();
```
7. `back()`: 返回`vector<>`的最后一个元素的引用。
```cpp
std::vector<int> vec = {1, 2, 3};
int lastElement = vec.back();
```
8. `clear()`: 清空`vector<>`中的所有元素。
```cpp
std::vector<int> vec = {1, 2, 3};
vec.clear();
```
这些只是`vector<>`容器的一些常用函数,还有其他更多的函数可供使用。你可以参考C++的官方文档或其他参考资料来了解更多关于`vector<>`的函数和用法。
希望这些信息对你有所帮助!如果你有任何进一步的问题,请随时提问。
c++中vector<bool>用法
`vector<bool>` 是 `vector` 的一个特化版本,用于存储布尔值。由于其实现方式不同于一般的 `vector`,因此在使用时需要注意一些细节。
以下是一些 `vector<bool>` 的用法示例:
1. 创建一个空的 `vector<bool>`:
```c++
std::vector<bool> myVector;
```
2. 创建一个有初始值的 `vector<bool>`:
```c++
std::vector<bool> myVector = {true, false, true};
```
3. 向 `vector<bool>` 中添加元素:
```c++
myVector.push_back(true);
myVector.push_back(false);
```
4. 获取 `vector<bool>` 的大小:
```c++
std::cout << "Vector size: " << myVector.size() << std::endl;
```
5. 访问 `vector<bool>` 中的元素:
```c++
std::cout << "First element: " << myVector[0] << std::endl;
```
6. 使用迭代器访问 `vector<bool>` 中的元素:
```c++
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
```
需要注意的是,由于 `vector<bool>` 的实现方式不同于一般的 `vector`,因此它的元素不是普通的 `bool` 类型,而是 `bool` 类型的“位域”,因此在使用时需要注意一些细节,如不能直接对 `vector<bool>` 进行排序、不能使用 `&`、`|`、`^` 等位运算符等。