C++ reverse()函数用法详解
reverse() 是 C++ 标准库提供的一个函数,定义在
reverse() 函数的语法格式如下:
注意,reverse() 函数需要双向迭代器来工作,所以它可以与 std::vector、std::deque 和 std::list 之类的容器一起使用,但不能用于 std::set 和 std::map 这样的容器,因为它们的内部是有序的,不能做反转操作。
【实例】下面的C++程序演示了 reverse() 函数的用法。
<algorithm>头文件中,用于反转一个序列的元素。无论是反转字符串,数组,还是其他任何容器的内容,都可以借助 reverse() 函数实现反转。所谓反转,就是将迭代器区间内的数据以完全对称的方式交换位置。在长度为 n 的区间中,将第 i (i 从 0 到 (n-1)/2 )个元素与第 n-i-1 个元素交换位置。
reverse() 函数的语法格式如下:
template <class BidirectionalIterator> void reverse(BidirectionalIterator first, BidirectionalIterator last);first 和 last 用于指定要转换的数据范围
[first, last)。注意,reverse() 函数需要双向迭代器来工作,所以它可以与 std::vector、std::deque 和 std::list 之类的容器一起使用,但不能用于 std::set 和 std::map 这样的容器,因为它们的内部是有序的,不能做反转操作。
【实例】下面的C++程序演示了 reverse() 函数的用法。
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::reverse(vec.begin(), vec.end());
std::cout << "Reversed vector: ";
for(int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
std::string str = "Hello World!";
std::reverse(str.begin(), str.end());
std::cout << "Reversed string: " << str << std::endl;
return 0;
}
执行结果为:
Reversed vector: 5 4 3 2 1
Reversed string: !dlroW olleH
ICP备案:
公安联网备案: