快速排序算法Python
时间: 2024-06-15 15:02:15 浏览: 182
快速排序是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。以下是使用 Python 实现快速排序的一个简单版本:
```python
def quicksort(arr):
if len(arr) <= 1:
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 quicksort(less) + equal + quicksort(greater) # 递归地对子数组进行排序并合并
# 示例:
unsorted_list = [3, 6, 8, 10, 1, 2, 1]
sorted_list = quicksort(unsorted_list)
print(sorted_list)
```
阅读全文