c++vector 反序
时间: 2023-10-21 09:06:23 浏览: 101
你可以使用std::reverse函数来反转C++中的vector。
以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 反转vector
std::reverse(numbers.begin(), numbers.end());
// 打印反转后的结果
for (const auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码会输出:5 4 3 2 1,即反转后的vector。你可以根据需要修改vector的类型和内容。
相关问题
std::vector 反序
`std::vector` 是 C++ 标准库中的动态数组容器,它允许你在运行时添加、删除元素。如果你想反序 `std::vector` 的内容,有几种常见的方法:
1. **直接迭代**:
使用范围-based for循环或者从后向前遍历 vector,然后利用其提供的随机访问功能,将元素逐个插入到前面。
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = vec.size() - 1; i >= 0; --i) {
vec.push_back(vec[i]); // 将元素移到末尾再移除
}
```
2. **使用 `reverse_iterator`**:
C++ 提供了 `std::reverse_iterator`,可以轻松地反转容器的内容。
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
```
3. **使用算法**:
如果你的 C++ 版本支持 C++17 或更高版本,可以直接使用 `std::reverse` 算法。
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
```
vector 元素反序
可以使用 `std::reverse` 算法函数来实现 vector 元素反序,示例如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 使用 std::reverse 反序
std::reverse(vec.begin(), vec.end());
// 输出反序后的 vector 元素
for (const auto& elem : vec) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
5 4 3 2 1
```
阅读全文