Coding 【每日一题】实现快速排序-Python-20210829

Jack · 2021年08月29日 · 最后由 Jack 回复于 2021年08月30日 · 34 次阅读
本帖已被设为精华帖!

实现快速排。

Jack 将本帖设为了精华贴 08月29日 19:34

参考代码:

tmp_list = [8, 5, 1, 3, 2, 10, 11, 4, 12, 20]
def partition(arr,low,high): 
    i = ( low-1 )
    pivot = arr[high]     
    for j in range(low , high): 
        if   arr[j] <= pivot: 
            i = i+1 
            arr[i],arr[j] = arr[j],arr[i] 

    arr[i+1],arr[high] = arr[high],arr[i+1] 
    return ( i+1 )

def quicksort(arr,low,high): 
    if low < high: 
        pi = partition(arr,low,high) 
        quicksort(arr, low, pi-1) 
        quicksort(arr, pi+1, high) 

quicksort(tmp_list, 0, len(tmp_list)-1)
print(tmp_list)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册