思想 选某点为基准数,每一趟使基准数<枢轴>放入适合位置而表则一分为二,左边小于基准数,右边大于基准数对子表按递归方式继续二分,其间,也慢慢将基准数放入正确位置直至划分的子表长度为0 or 1—》递归出口 快排递归树 源码 list_before=[2,4,9,3,4,5,2,1,5,6,4,2,7,8,6,0] def quickSort(list_before): if len(list_before)<2: return list_before # 比基准数小的放左边(从第二个数开始比较) left_part=[left_ele for left_ele in list_before[1:] if left_ele < list_before[0]] # 比基准数大的放右边(从第二个数开始比较) right_part=[right_ele for right_ele in list_before[1:] if right_ele > list_before[0]] # 和基准书一样大的放在中间(从第一个数开始比较) equal_part=[equal_ele for equal_ele in list_before[0:] if equal_ele == list_before[0]] # print('left:',left_part) # print('right:',right_part) # print('equal_part:',equal_part) return quickSort(left_part)+equal_part+quickSort(right_part) list_after=quickSort(list_before) print(list_after)