def quick_sort(alist, first, last):
'''快速排序'''
if first >= last:
return
mid_value = alist[first]
low = first
high = last
while low < high:
# 让high的游标左移,当high对应的值小于基准元素
while low < high and alist[high] >= mid_value:
high -= 1
alist[low] = alist[high]
while low < high and alist[low] < mid_value:
low += 1
alist[high] = alist[low]
# 从循环退出时,low = high
alist[low] = mid_value
# 对low左边的列表执行快速排序
quick_sort(alist, first, low-1)
# 对low右边的列表执行快速排序
quick_sort(alist, low+1, last)
排序算法-快速排序
最新推荐文章于 2024-09-18 09:27:09 发布
本文深入讲解了快速排序算法的实现原理及步骤。通过定义递归函数quick_sort,以列表的第一个元素为基准,将数据分为两部分,分别进行排序,最终实现整个列表的排序。文章详细解释了快速排序的分区过程和递归调用机制。
18万+

被折叠的 条评论
为什么被折叠?



