分别编写函数实现插入排序算法和归并排序算法; 利用随机函数产生大量数据存入数组作为待排序列;
时间: 2023-12-01 14:16:12 浏览: 87
随机产生若干个数,并插入排序
好的,我可以为您编写这两个排序算法的函数,并生成随机数组进行排序。以下是示例代码:
```python
import random
def insert_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
def merge_sort(arr):
if len(arr) > 1:
mid = len(arr) // 2
L = arr[:mid]
R = arr[mid:]
merge_sort(L)
merge_sort(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 = [random.randint(0, 1000) for _ in range(100)]
# 使用插入排序算法排序
insert_sort(arr)
print("插入排序后的数组:", arr)
# 重新生成随机数组
arr = [random.randint(0, 1000) for _ in range(100)]
# 使用归并排序算法排序
merge_sort(arr)
print("归并排序后的数组:", arr)
```
运行上述代码后,将会输出两个排序算法排序后的随机数组。需要注意的是,上述代码中的 `random.randint(0, 1000)` 可以根据实际需求进行修改,以生成不同范围内的随机数。
阅读全文