用python写一下快速排序
时间: 2023-09-28 10:04:11 浏览: 60
基于python的快速排序算法设计与实现
快速排序是一种常见的排序算法,其原理简单而高效。以下是用Python实现快速排序的代码:
```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)
```
在这个实现中,我们首先检查数组是否为空或只有一个元素。如果是这样,我们就返回原始数组。否则,我们选择数组中间的元素作为枢轴,将小于枢轴的元素移动到左侧,等于枢轴的元素移动到中间,大于枢轴的元素移动到右侧。然后我们递归地对左侧和右侧进行快速排序,最后将它们和中间元素拼接起来。
以下是一个使用示例:
```python
arr = [3, 5, 2, 8, 4, 7, 1, 6]
print(quick_sort(arr))
```
输出结果为:
```
[1, 2, 3, 4, 5, 6, 7, 8]
```
这个算法的时间复杂度为$O(n \log n)$,因此它是一种非常高效的排序算法。
阅读全文