C++ std::reverse 原地交换区间两端元素,直到中间,使序列倒序。要求双向迭代器。
原型
template<class BidirIt>
void reverse(BidirIt first, BidirIt last);参数
first,last:要反转的半开区间。
返回值
无返回值。
示例
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4};
std::reverse(v.begin(), v.end());
for (int x : v) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}输出:
4 3 2 1
注意事项
只反转子区间时传入对应迭代器即可,例如 reverse(v.begin() + 1, v.end() - 1)。复制到新序列且倒序可用反向迭代器或先 copy 再 reverse。
下一页介绍min_element:最小元素位置。