快速排序的Python实现

def quicksort(li):
    smaller = []
    bigger = []
    if len(li) < 1:
        return li
    k = li.pop()
    for i in li:
        #每一轮递归把数据分为两部门 一部分小于k 一部分大于k
        if i > k:
            bigger.append(i)
        else: 
            smaller.append(i)
    return quicksort(smaller) + [k] + quicksort(bigger)


li = [5,4,3,6,7,2,9,1,2,9]

print(quicksort(li))

你可能感兴趣的:(快速排序的Python实现)