c++翻转数组reverse
时间: 2025-03-10 08:07:53 浏览: 23
C++ 中实现数组翻转
在 C++ 中,std::reverse()
是一种用于反转序列的标准库函数。此函数定义于 <algorithm>
头文件中,并适用于各种迭代器类型的容器。
下面是一个简单的例子展示如何利用 std::reverse()
来翻转整型数组:
#include <iostream>
#include <algorithm>
int main() {
int arr[] = {1, 2, 3, 4, 5};
const size_t length = sizeof(arr) / sizeof(arr[0]);
// 打印原始数组
std::cout << "Original array:" << std::endl;
for (size_t i = 0; i < length; ++i)
std::cout << arr[i] << ' ';
std::cout << '\n';
// 使用 reverse 函数翻转整个数组
std::reverse(std::begin(arr), std::end(arr));
// 打印已翻转的数组
std::cout << "Reversed array:" << std::endl;
for (size_t i = 0; i < length; ++i)
std::cout << arr[i] << ' ';
std::cout << '\n';
}
上述程序先打印出原数组的内容,接着调用了 std::reverse()
对其进行了完全逆转操作,最后再次遍历并输出被逆序后的数组[^1]。
对于更复杂的情况,比如只希望部分翻转或者处理其他数据结构(如向量),也可以采用相同的方式传递不同的起始和结束位置给 std::reverse()
函数来达到目的[^3]。
当涉及到特定应用案例时,例如 LeetCode 上提到的任务,则可能需要组合多次调用 std::reverse()
或者与其他逻辑相结合以满足具体需求[^4]。
注意事项
- 需要包含
<algorithm>
和<iterator>
(如果使用标准库提供的 begin/end 方法) - 应该注意传入的有效范围以免越界访问内存
相关推荐


















