设计并实现对n(输入参数)个随机产生的整数进行归并排序的程序
时间: 2023-05-30 17:05:31 浏览: 53
以下是Python3实现归并排序的代码:
```python
def merge_sort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left_arr = arr[:mid]
right_arr = arr[mid:]
left_arr = merge_sort(left_arr)
right_arr = merge_sort(right_arr)
return merge(left_arr, right_arr)
def merge(left_arr, right_arr):
result = []
left_index = 0
right_index = 0
while left_index < len(left_arr) and right_index < len(right_arr):
if left_arr[left_index] <= right_arr[right_index]:
result.append(left_arr[left_index])
left_index += 1
else:
result.append(right_arr[right_index])
right_index += 1
result += left_arr[left_index:]
result += right_arr[right_index:]
return result
# 测试代码
import random
n = 10
arr = [random.randint(1, 100) for _ in range(n)]
print("原始数组:", arr)
sorted_arr = merge_sort(arr)
print("排序后:", sorted_arr)
```
运行结果:
```
原始数组: [12, 74, 81, 54, 20, 70, 87, 35, 8, 80]
排序后: [8, 12, 20, 35, 54, 70, 74, 80, 81, 87]
```