#快速排序
def quicksort(arr):
if len(arr)<2:
#判断列表中元素个数
return arr
#返回列表
mid = arr[0]
#取出其中的一个元素mid
left = [i
for i
in arr[1:]
if i<mid]
#列表推导式的形式进行运算把小于mid的元素放在左侧
right = [j
for j
in arr[1:]
if j>=mid]
#列表推导式的形式进行运算把大于mid的元素放在右侧
return quicksort(left)+[mid]+quicksort(right)
#把三个合在一起成为一个列表
arr=[0,9,8,4,2,1
]
print(quicksort(arr))
#[0, 1, 2, 4, 8, 9]
转载于:https://www.cnblogs.com/liangliangzz/p/11339074.html
相关资源:python快速排序的实现及运行时间比较