完成归并排序代码的实现
时间: 2023-10-22 07:22:23 浏览: 70
以下是归并排序的 python 代码实现:
```python
def merge_sort(arr):
if len(arr) > 1:
mid = len(arr) // 2
left_arr = arr[:mid]
right_arr = arr[mid:]
merge_sort(left_arr)
merge_sort(right_arr)
i = j = k = 0
while i < len(left_arr) and j < len(right_arr):
if left_arr[i] < right_arr[j]:
arr[k] = left_arr[i]
i += 1
else:
arr[k] = right_arr[j]
j += 1
k += 1
while i < len(left_arr):
arr[k] = left_arr[i]
i += 1
k += 1
while j < len(right_arr):
arr[k] = right_arr[j]
j += 1
k += 1
```
该函数接受一个列表作为输入,并对其进行归并排序。它首先检查列表的长度是否大于 1,如果是,则将其分为两个子数组。然后递归地调用归并排序函数来对这两个子数组进行排序。最后,它将这两个已排序的子数组合并为一个有序的数组。