算法之快速排序

# 快速排序
def partition(li,left ,right):
    tmp = li[left]
    while left < right:
        while left < right and li[right] >= tmp:
            right = right-1
        li[left] = li[right]
        while left < right and li[left] <= tmp:
            left = left+1
        li[right] = li[left]
    li[left] = tmp

    return left

def quick_sort(li,left,right):
    if left < right:
        mid = partition(li, left, right)
        quick_sort(li, left, mid - 1)
        quick_sort(li, mid + 1, right)
    print(li)

li = [random.randint(1,100) for _ in range(100)]

quick_sort(li,0,len(li)-1)
posted @ 2019-12-25 16:27  小王八+1  阅读(125)  评论(0编辑  收藏  举报