如列表[1,-1,2,10,5,0,3]
快排的思路是先确定一个基数base=1
然后递归实现把大于base的放右边,小于等于base的放左边
def quick_sort(arr): if len(arr) <= 1: return arr base = arr[0] less = [i for i in arr[1:] if i<base] greater = [i for i in arr[1:] if i>=base] return quick_sort(less) + [base] + quick_sort(greater) s= [-1,2,3,-2,0,-3] print("s:",s) print("quick_sort(s):",quick_sort(s))
结果:
s: [-1, 2, 3, -2, 0, -3]
quick_sort(s): [-3, -2, -1, 0, 2, 3]