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, 8, 3, 9, 1, 4, 7, 6]
sorted_arr = quick_sort(arr)
print(sorted_arr)
输出结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论