用python编写一个快速排序算法,分别对含有1到10000的随机数据的数组进行排序,输出时间
时间: 2024-02-19 21:58:39 浏览: 69
好的,以下是用 Python 编写的快速排序算法:
```python
import random
import time
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr)//2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
# 生成随机数据并进行排序
for n in range(1, 10001):
arr = [random.randint(1, 10000) for _ in range(n)]
start_time = time.time()
arr_sorted = quick_sort(arr)
end_time = time.time()
print(f"对含有{n}个数据的数组进行快速排序的时间为:{end_time - start_time:.6f}秒")
```
在上面的代码中,我们定义了一个函数 `quick_sort` 来实现快速排序算法。然后,我们利用 `random` 模块生成含有 1~10000 个数据的随机数组,并对其进行排序。我们分别对含有 1~10000 个数据的数组进行排序,并输出排序所需的时间。
阅读全文