随机数快速排序python
时间: 2023-06-21 10:07:18 浏览: 102
python实现快速排序
以下是使用随机数快速排序的 Python 代码示例:
```python
import random
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = random.choice(arr)
left, mid, right = [], [], []
for i in arr:
if i < pivot:
left.append(i)
elif i == pivot:
mid.append(i)
else:
right.append(i)
return quick_sort(left) + mid + quick_sort(right)
# 示例
arr = [3, 1, 4, 2, 5]
print(quick_sort(arr)) # 输出 [1, 2, 3, 4, 5]
```
该实现中,我们通过 `random.choice(arr)` 随机选取一个元素作为枢轴(pivot),并将数组中小于、等于、大于枢轴的元素分别存储在左、中、右三个数组中。接着对左、右两个数组递归进行快速排序,最后将三个数组拼接起来即可。
阅读全文