def quick_sort(nums): if len(nums)>=2: mid = nums[len(nums)//2] left,right = [],[] nums.remove(mid) for d in nums: if d < mid: left.append(d) else: right.append(d) return quick_sort(left) + [mid] + quick_sort(right) else: return nums if __name__ == "__main__": nums = [10, 1, 35, 61, 89, 36, 55] print(quick_sort(nums))
是对冒泡排序的一种改进吧
用的也比较多
首先,有一组数列,分成两部分
找一个中间值,其一部分的数据都比他大,另一部分都比他小
然后重复上述步骤
拆的过程其实已经将序列排好了大小
合并的时候直接合并就可以了