Python学习随记(八):快速排序
# 快排
# 选取一个基准值 小的往左移 大的往右移
# [34,32,12,51,75,25,84,1,8]
# [34 32 12 51 25 1 8] 75 [84]
# [34 32 12 25 1 8] 51 []
# [1 8] 12 [34 32 25]
# [] 1 [8] 12 [25] 32 [34]
def quick_sort(num_list: list):
if len(num_list) <= 1:
return num_list
left_list = []
right_list = []
mid = num_list[len(num_list) // 2]
num_list.remove(mid)
for i in num_list:
if i > mid:
right_list.append(i)
else:
left_list.append(i)
return quick_sort(left_list) + [mid] + quick_sort(right_list)