快排(python)

用python写了个快排,第一次发现python居然可以这么简洁。

def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr)//2]
    left = [x for x in arr if x<pivot]
    middle = [x for x in arr if x==pivot]
    right = [x for x in arr if x>pivot]
    return quicksort(left) + middle + quicksort(right)

print(quicksort([3,6,8,10,1,2,1]))

猜你喜欢

转载自www.cnblogs.com/magicalzh/p/9071971.html