python快速排序

python快速排序_第1张图片



# 快速排序
def QS(a, start, end):
    if end == start:
        return
    i, j = start, end
    key = a[i]
    while i != j:
        while a[j] >= key:
            j -= 1
            if i == j:
                break
        if i == j:
            break
        a[i] = a[j]

        while a[i] <= key:
            i += 1
            if i == j:
                break
        if i == j:
            break
        a[j] = a[i]
    a[i] = key
    QS(a, start, i - 1)
    QS(a, i + 1, end)

a = [2, 3, 1]
QS(a, 0, len(a)-1)
print(a)


 

你可能感兴趣的:(python,快速排序)