C++ 算法 reverse() 函数

定义和用法

reverse() 函数反转数据范围内元素的顺序。

数据范围通过迭代器指定。

提示:如需保留原始数据并创建反转后的副本,可使用 reverse_copy() 函数。

实例

反转 vector 中元素的顺序:

vector<int> numbers = {1, 3, 5, 7, 2, 9};
reverse(numbers.begin(), numbers.end());
for (int number : numbers) {
  cout << number << " ";
}

亲自试一试

语法

reverse(iterator start, iterator end);

参数

参数 描述
start 必需。指向数据范围起始位置的迭代器。
end

必需。指向数据范围结束位置的迭代器。

将反转该位置之前的元素,但不包含该位置上的元素。

技术细节

  • 直接修改原始数据
  • 时间复杂度:O(n/2),其中 n 是元素数量
  • 适用于所有支持双向迭代器的容器
  • 若需保留原数据顺序,应使用 reverse_copy()

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法