改为python语言写一个归并排序
时间: 2023-07-04 07:27:16 浏览: 64
基于python的归并排序算法设计与实现
下面是Python实现归并排序的代码:
```python
def mergeSort(arr):
if len(arr) > 1:
mid = len(arr) // 2
L = arr[:mid]
R = arr[mid:]
mergeSort(L)
mergeSort(R)
i = j = k = 0
while i < len(L) and j < len(R):
if L[i] < R[j]:
arr[k] = L[i]
i += 1
else:
arr[k] = R[j]
j += 1
k += 1
while i < len(L):
arr[k] = L[i]
i += 1
k += 1
while j < len(R):
arr[k] = R[j]
j += 1
k += 1
arr = [38, 27, 43, 3, 9, 82, 10]
print("The original array is:")
print(arr)
mergeSort(arr)
print("\nThe sorted array is:")
print(arr)
```
代码中,`mergeSort`函数实现归并排序,将数组不断分成更小的子数组,直到只有一个元素,然后对子数组进行归并操作。函数中,通过递归的方式将数组分成左右两部分,并对左右两部分进行排序和归并操作。主函数中,初始化一个数组,并输出排序前和排序后的数组。
阅读全文