用python 写归并排序,并举个例子
时间: 2023-06-01 13:07:57 浏览: 91
好的,以下是Python的归并排序代码和一个示例:
```
def merge_sort(arr):
if len(arr) > 1:
mid = len(arr) // 2
left_half = arr[:mid]
right_half = arr[mid:]
merge_sort(left_half)
merge_sort(right_half)
i, j, k = 0, 0, 0
while i < len(left_half) and j < len(right_half):
if left_half[i] < right_half[j]:
arr[k] = left_half[i]
i += 1
else:
arr[k] = right_half[j]
j += 1
k += 1
while i < len(left_half):
arr[k] = left_half[i]
i += 1
k += 1
while j < len(right_half):
arr[k] = right_half[j]
j += 1
k += 1
return arr
# 示例
arr = [5, 3, 8, 4, 2, 7, 1, 10, 6, 9]
sorted_arr = merge_sort(arr)
print(sorted_arr)
```
以上代码通过归并排序对列表进行排序,示例列表的排序结果是:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。
阅读全文