C++ 算法 reverse_copy() 函数

定义和用法

reverse_copy() 函数创建一个元素顺序反转的数据范围副本。

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

实例

创建 vector 的反向顺序副本:

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

亲自试一试

语法

reverse_copy(iterator start, iterator end, iterator destination);

参数

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

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

将处理到该位置之前的元素。

destination 必需。指向目标数据范围起始位置的迭代器。

技术细节

返回: 指向目标数据范围末尾的迭代器(最后一个被写入元素的下一个位置)。

说明:

  • 原始数据保持不变
  • 目标容器需预先分配足够空间
  • 时间复杂度为 O(n),其中 n 是数据范围大小
  • 适用于所有支持前向迭代器的容器

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法