快速排序的python代码
时间: 2023-06-21 17:24:47 浏览: 66
以下是快速排序的 Python 代码实现:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in arr[1:]:
if i < pivot:
left.append(i)
else:
right.append(i)
return quick_sort(left) + [pivot] + quick_sort(right)
```
在这个实现中,我们首先检查列表的长度。如果列表只有一个元素或者没有元素,那么它就已经排好序了,可以直接返回。
否则,我们选择第一个元素作为枢轴(pivot),然后将小于枢轴的元素放在左边,大于枢轴的元素放在右边。最后,我们递归地对左右两个子列表进行快速排序,并将它们与枢轴合并在一起返回。
这个算法的时间复杂度为 O(n log n),平均情况下比较高效。
阅读全文