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`进行快速排序,并将结果与基准元素合并返回。


上一篇:eclipse如何导入JFrame

下一篇:linux中使用grep命令详解


蚂蚁钢琴网 2008-2025 somall.com.cn 皖ICP备2023010105号
大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器
钢琴调律 钢琴调音 钢琴调律价格
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
违法和不良信息24小时举报热线:18056540210