o描述:编写一个函数,将一个整数数组中的元素反转。原数组不应被修改。 o输入:arr[] = {1, 2, 3, 4, 5}, length = 5 o输出:{5, 4, 3, 2, 1}
时间: 2024-10-23 07:18:23 浏览: 20
你可以使用一种常见的算法,即双指针法,在不改变原数组的情况下创建一个新的数组来存储反转后的元素。以下是使用Python编写的一个函数示例:
```python
def reverse_array(arr, length):
# 创建一个新的空数组来存储反转后的元素
reversed_arr = [0] * length
# 初始化两个指针,一个指向数组开始,一个指向数组结束
left, right = 0, length - 1
# 双向遍历,交换左右指针所指向的元素直到相遇
while left < right:
reversed_arr[left] = arr[right] # 将右端元素复制到新数组
reversed_arr[right] = arr[left] # 将左端元素复制到新数组
left += 1 # 左指针右移
right -= 1 # 右指针左移
return reversed_arr
# 测试函数
arr = [1, 2, 3, 4, 5]
length = len(arr)
reversed_arr = reverse_array(arr, length)
print(reversed_arr) # 输出:[5, 4, 3, 2, 1]
```
这个函数首先创建了一个与输入数组长度相同的新的数组`reversed_arr`。然后它使用两个指针,每次迭代都将`arr`中对应位置的元素交换到新数组相应的位置,最终得到反转的结果。
阅读全文