快速排序(Quick Sort)
算法思想:首先找一个基准值,比基准值小的放在左边列表,比基准值大的放在右边列表,再分别在两边的列表中进行重复的操作,直到每个列表的长度<=1,将所有的列表进行合并。
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
base = arr[0]
less = [v for v in arr[1:] if v<=base]
more = [v for v in arr[1:] if v>base]
return quick_sort(less) + [base] + quick_sort(more)
lst = [1, 23, 74, 64, 3, 6, 2, 53, 57, 12]
print(quick_sort(lst))