python实现对两个有序数组的合并
时间: 2024-09-10 13:07:41 浏览: 48
在Python中,可以使用多种方法实现对两个有序数组的合并。最简单且高效的方法是使用双指针遍历法。这种方法的基本思想是创建两个指针分别指向两个有序数组的起始位置,然后比较这两个指针所指的元素,将较小的元素放到新的数组中,并移动较小元素所在数组的指针,重复这个过程直到所有的元素都被添加到新数组中。
下面是使用Python代码实现双指针遍历法合并两个有序数组的示例:
```python
def merge_sorted_arrays(arr1, arr2):
# 初始化两个指针分别指向两个数组的起始位置
index1, index2 = 0, 0
# 初始化一个新数组用于存放合并后的结果
merged_array = []
# 遍历两个数组直到一个数组的元素全部被合并
while index1 < len(arr1) and index2 < len(arr2):
if arr1[index1] < arr2[index2]:
merged_array.append(arr1[index1])
index1 += 1
else:
merged_array.append(arr2[index2])
index2 += 1
# 如果第一个数组还有剩余元素,将它们添加到结果数组中
while index1 < len(arr1):
merged_array.append(arr1[index1])
index1 += 1
# 如果第二个数组还有剩余元素,将它们添加到结果数组中
while index2 < len(arr2):
merged_array.append(arr2[index2])
index2 += 1
return merged_array
# 示例使用
arr1 = [1, 3, 5]
arr2 = [2, 4, 6]
print(merge_sorted_arrays(arr1, arr2)) # 输出: [1, 2, 3, 4, 5, 6]
```
阅读全文