请用分治策略写出快速排序算法
时间: 2024-11-12 18:13:01 浏览: 17
shujujiegou.rar_快速排序算法
快速排序是一种常用的分治算法,其基本思想是选择一个基准元素(pivot),将数组分为两个部分,一部分所有元素都小于基准,另一部分所有元素都大于等于基准。然后对这两部分递归地应用同样的过程,直到整个序列有序。
以下是快速排序的伪代码实现:
```python
def quick_sort(arr):
if len(arr) <= 1: # 当数组长度为1或0时,认为已经排序完成
return arr
pivot = arr[len(arr) // 2] # 选取中间元素作为基准
less = [x for x in arr if x < pivot] # 小于基准的元素
equal = [x for x in arr if x == pivot] # 等于基准的元素
greater = [x for x in arr if x > pivot] # 大于基准的元素
return quick_sort(less) + equal + quick_sort(greater) # 递归排序两部分并合并
阅读全文