def quick_sort(data): if len(data) >= 2: mid = data[0] # 选取第一个值为基准值 left, right =[], [] # 定义基准值左右两侧的列表 data.remove(mid) # 原始数据中删除基准值 for num in data: if num >= mid: # 大于基准值的放右边 right.append(num) else: left.append(num) # 小于基准值的放左边 return quick_sort(left) + [mid] + quick_sort(right) else: return data
array = [2,3,5,7,1,4,6,15,5,2,7,9,10,15,9,17,12] print(quick_sort(array))
原文:https://www.cnblogs.com/WJZheng/p/11638280.html