酷代码 AI
菜单
服务商

C++数组逆序存放实现及算法解析

```cpp #include <iostream> using namespace std; void reverseArray(int arr[], int size) { int start = 0; int end = size - 1; while (start < end) { // 交换数组首尾元素 int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } } int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); cout << "原始数组: "; for (int i = 0; i < size; i++) { cout << arr[i] << " "; } cout << endl; reverseArray(arr, size); cout << "逆序数组: "; for (int i = 0; i < size; i++) { cout << arr[i] << " "; } cout << endl; return 0; } ``` ### 🧠 算法解析 - 使用双指针法,一个指针指向数组开头,另一个指向末尾。 - 通过循环交换两个指针指向的元素,直到两个指针相遇。 - 时间复杂度为 O(n),空间复杂度为 O(1)。 ### 📝 代码说明 - `reverseArray` 函数接收数组和大小作为参数。 - 使用 `while` 循环进行元素交换。 - `main` 函数演示了如何使用该函数。 ### ⚠️ 注意事项 - 确保数组大小正确,避免越界访问。 - 该方法会修改原始数组,如需保留原数组,请先创建副本。 ######[AI问答 | 369点数解答 | 2026-04-05 21:18:13]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]