python实现快速排序的示例(二分法思想)
下面是一个使用递归方法实现快速排序的示例代码:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
less = [x for x in arr[1:] if x <= pivot]
greater = [x for x in arr[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
# 示例用法
arr = [5, 2, 9, 1, 8, 6, 3, 7, 4]
sorted_arr = quick_sort(arr)
print(sorted_arr)
```
输出结果为:`[1, 2, 3, 4, 5, 6, 7, 8, 9]`
在快速排序中,通过选择一个元素作为基准(pivot),将数组分为两个子数组,一个子数组中的元素小于等于基准,另一个子数组中的元素大于基准。然后对这两个子数组进行递归排序,最终得到排序后的数组。
在示例代码中,选择第一个元素作为基准,然后使用列表解析将小于等于基准的元素放入`less`列表,将大于基准的元素放入`greater`列表。最后递归对`less`和`greater`进行快速排序,并将结果与基准元素合并返回。
下一篇:linux中使用grep命令详解
浙江金华地图 浙江地图全图可放
济宁丽人医院 济宁丽人医院坑人
南充天气预报 南充高坪天气预报
北海365 广西北海最新新闻
宁波植物园 宁波植物园官网门票
泉州经贸职业技术学院 泉州经贸
白山旅游 白山旅游攻略景点大全
桂林阳朔旅游 桂林游玩路线攻略
宝鸡奥斯卡国际影城 奥斯卡星钻
三亚美丽之冠七星酒店 三亚美丽