python 快速排序

#快速排序
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]

 

posted @ 2019-08-12 12:57  青春叛逆者  阅读(143)  评论(0编辑  收藏  举报