首页
学习
活动
专区
圈层
工具
发布

Python版快速排序算法

Python版冒泡排序算法请参考:Python版冒泡法排序算法

Python版选择排序算法请参考:Python版选择排序算法

from random import randint

def quickSort(lst, reverse=False):

if len(lst) <= 1:

return lst

#默认使用最后一个元素作为枢点

pivot = lst.pop()

first, second = [], []

#默认使用升序排序

exp = 'x<=pivot'

#reverse=True表示降序排列

if reverse == True:

exp = 'x>=pivot'

for x in lst:

first.append(x) if eval(exp) else second.append(x)

#递归调用

return quickSort(first, reverse) + [pivot] + quickSort(second, reverse)

lst = [randint(1, 1000) for i in range(10)]

print(quickSort(lst, True))

举报
领券