用快速排序法给一个随机数组排序完整代码
时间: 2024-05-12 13:14:25 浏览: 76
快速排序的完整代码
下面是用快速排序法给一个随机数组排序的完整代码:
```python
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)
arr = [3, 6, 2, 8, 1, 9, 4, 7, 5]
sorted_arr = quick_sort(arr)
print(sorted_arr)
```
输出:
```
[1, 2, 3, 4, 5, 6, 7, 8, 9]
```
首先定义了一个快速排序函数 `quick_sort`,它接受一个数组作为参数,并返回排好序的数组。如果数组长度不大于 1,那么就直接返回原数组。然后选择数组中间的元素作为基准值 `pivot`,将数组分成左、中、右三个部分。左部分是所有小于 `pivot` 的元素,右部分是所有大于 `pivot` 的元素,中部分是所有等于 `pivot` 的元素。最后将左、中、右三个部分分别进行递归排序,并将结果合并起来。
最后将一个随机数组 `arr` 传入 `quick_sort` 函数,并将排序后的结果输出。
阅读全文