📅  最后修改于: 2023-12-03 14:50:40.037000             🧑  作者: Mango
在编写算法时,有时需要将两个已排序的数组合并为一个新的排序数组。这在许多应用中是非常常见的,例如归并排序和二路归并算法,因此了解如何合并排序数组是非常重要的。
以下是一种简单的方法来合并两个数组:
def merge_sorted_arrays(arr1, arr2):
result = []
i = j = 0
while i < len(arr1) and j < len(arr2):
if arr1[i] <= arr2[j]:
result.append(arr1[i])
i += 1
else:
result.append(arr2[j])
j += 1
while i < len(arr1):
result.append(arr1[i])
i += 1
while j < len(arr2):
result.append(arr2[j])
j += 1
return result
在上面的代码中,我们使用两个指针 i
和 j
分别指向两个数组 arr1
和 arr2
的开头,通过比较这两个指针所在的元素,将较小的元素添加到一个新的数组 result
中,并且逐步移动指针,直到遍历完数组。
最后,我们将剩余的元素添加到 result
中,返回最终的合并结果。
此外,还有其他的方法来合并两个排序数组,例如使用归并排序或者利用 Python 自带的 sorted()
函数等等。这取决于特定的应用场景和个人的喜好。