分而治之D&C(divide and conquer, D&C).
步骤:
1.选择基准值;
2.将数组分成两个子数组:小于基准值的元素组成的数组和大于基准值元素组成的数组;
3.对这两个数组进行快速排序;
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)