更多排序算法请参见我的github: https://github.com/zlsjsj/python-sort/tree/master
使用递归算法来实现快速排序,使得代码更加简洁
def quicksort(arr): if len(arr) <= 1: return arr #当数组中只包含一个元素的时候,它肯定是有序的 else: base = arr[0] less = [i for i in arr[1:] if i <= base] #所有由小于等于基准值的元素组成的子数组 more = [i for i in arr[1:] if i > base] #所有由大于基准值的元素组成的子数组 return quicksort(less) + [base] + quicksort(more) #递归调用quicksort函数 print(quicksort([10, 2, 5, 9, 20]))