用指针/数组/引用方式编写函数(用至少两种方式),接受一个整数数组和它的大小,返回一个新的数组,其中包含原数组的元素,顺序为反向排列。
时间: 2024-10-19 20:05:54 浏览: 24
在编程中,你可以通过指针、数组复制或者引用传递的方式,实现这个功能。这里我会展示两种常见的方法:
1. **使用指针(C++示例)**:
```cpp
#include <iostream>
int* reverseArray(int* arr, int size) {
if (size <= 1) return arr; // 如果数组为空或只有一个元素,无需反转
int* reversed = new int[size]; // 创建新数组用于存储反转后的元素
for (int i = 0; i < size / 2; ++i) {
// 使用指针交换元素
std::swap(arr[i], reversed[size - 1 - i]);
}
return reversed;
}
// 为了防止内存泄漏,记得在函数结束时释放内存
void deleteReversedArray(int* reversed) {
delete[] reversed;
}
int main() {
int input[5] = {1, 2, 3, 4, 5};
int* reversedArr = reverseArray(input, sizeof(input) / sizeof(input[0]));
// ... 使用reversedArr...
deleteReversedArray(reversedArr); // 在main函数中释放内存
}
```
2. **使用引用传递(JavaScript示例)**:
```javascript
function reverseArray(array, size) {
let reversed = [...array]; // 或者用`reversed = Array.from(array)`创建浅拷贝
for (let i = 0; i < size / 2; i++) {
[reversed[i], reversed[size - 1 - i]] = [reversed[size - 1 - i], reversed[i]]; // 交换元素值
}
return reversed;
}
const input = [1, 2, 3, 4, 5];
const reversedArr = reverseArray(input, input.length);
// ... 使用reversedArr...
```
阅读全文