defquick_sort(lst):ifnot lst:return[]
pivot = lst[0]
left = quick_sort([x for x in lst[1:]if x < pivot])
right = quick_sort([x for x in lst[1:]if x >= pivot])return left +[pivot]+ right
归并排序:
defmerge_sort(lst):iflen(lst)<=1:return lst
mid =len(lst)//2
left = merge_sort(lst[: mid])
right = merge_sort(lst[mid:])return merge(left, right)defmerge(left, right):
l, r, res =0,0,[]while l <len(left)and r <len(right):if left[l]<= right[r]:
res.append(left[l])
l +=1else:
res.append(right[r])
r +=1
res += left[l:]
res += right[r:]return res
快速排序:def quick_sort(lst): if not lst: return [] pivot = lst[0] left = quick_sort([x for x in lst[1: ] if x < pivot]) right = quick_sort([x for x in lst[1: ] if x >= pivo...