快速排序:课本案例带注释
时间: 2023-07-08 10:47:57 浏览: 172
一个快速排序法的例子
好的,下面是快速排序的课本案例带注释。
```python
def quick_sort(lst):
if len(lst) <= 1: # 如果列表长度小于等于1,直接返回
return lst
else:
pivot = lst[0] # 以列表第一个元素作为基准值
left = [x for x in lst[1:] if x < pivot] # 将小于基准值的元素放到左边列表
right = [x for x in lst[1:] if x >= pivot] # 将大于等于基准值的元素放到右边列表
return quick_sort(left) + [pivot] + quick_sort(right) # 递归调用快速排序函数并将左、基准、右三个列表合并
```
这里使用了列表推导式来创建左、右两个列表。其中,`left`列表包含所有小于基准值的元素,`right`列表包含所有大于等于基准值的元素。最后,使用递归调用快速排序函数来对左、右两个列表进行排序,并将它们与基准值合并。
阅读全文