# 快速排序
def quick_sort(array: list) -> list:
"""
更简单易懂的快排。
:param array:
:return:
"""
lower = [] # 存放小于基准值的数据
higher = [] # 存放大于基准值的数据
if len(array) <= 1: # 递归结束条件
return array
pivot = array.pop() # 取列表最后一个数据为基准值
for i in array:
if i >= pivot:
higher.append(i)
else:
lower.append(i)
return quick_sort(lower) + [pivot] + quick_sort(higher)
if __name__ == '__main__':
nums1 = [1,3,6,9,12,5,4]
sort_nums = quick_sort(nums1)