写出合并两个有序数组的代码
时间: 2023-09-10 20:06:19 浏览: 162
合并两个有序数组.md
可以参考如下的Python代码实现:
```python
def merge_sorted_array(nums1, m, nums2, n):
i, j, k = m-1, n-1, m+n-1
while i >= 0 and j >= 0:
if nums1[i] >= nums2[j]:
nums1[k] = nums1[i]
i -= 1
else:
nums1[k] = nums2[j]
j -= 1
k -= 1
while j >= 0:
nums1[k] = nums2[j]
k -= 1
j -= 1
```
其中,nums1和nums2分别为两个已经有序的数组,m和n分别是它们的长度,函数的作用是将两个数组合并成一个有序数组nums1。这个函数的基本思路是借助三个指针i、j和k,分别指向nums1、nums2和合并后的数组nums1,然后从后往前遍历两个数组,比较它们的末尾元素大小,将较大的元素放到nums1的最后,直到其中一个数组遍历完毕,然后再将另一个数组的元素全部复制到nums1中。这样就能得到合并后的有序数组了。
阅读全文