分而治之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)