如列表[1,-1,2,10,5,0,3]

快排的思路是先确定一个基数base=1

然后递归实现把大于base的放右边,小于等于base的放左边

 

 

def quick_sort(arr):
    if len(arr) <= 1:
        return arr

    base = arr[0]
    less = [i for i in arr[1:] if i<base]
    greater = [i for i in arr[1:] if i>=base]
    return quick_sort(less) + [base] + quick_sort(greater)


s= [-1,2,3,-2,0,-3]
print("s:",s)
print("quick_sort(s):",quick_sort(s))

 

结果:

s: [-1, 2, 3, -2, 0, -3]
quick_sort(s): [-3, -2, -1, 0, 2, 3]

 

相关文章:

  • 2021-09-24
  • 2021-11-17
  • 2022-12-23
  • 2021-09-08
  • 2021-11-01
  • 2022-12-23
  • 2021-04-23
  • 2022-02-26
猜你喜欢
  • 2021-11-08
  • 2021-12-19
  • 2021-09-10
  • 2021-11-16
  • 2022-12-23
相关资源
相似解决方案