def quicksort(array): if len(array)<2: return array #基线条件为空或只包含一个元素 else: pivot = array[0] less = [i for i in array[1:] if i<=pivot] greater = [i for i in array[1:] if i>pivot] return quicksort(less)+[pivot]+quicksort(greater) print (quicksort([30,20,55,31]))
有一个待解决的问题,如何每次随机选择一个数组元素作为基线值,实现O(nlogn),还望观者不吝赐教。