python快速排序



# 快速排序
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)


 

相关文章:

  • 2021-06-07
  • 2022-12-23
  • 2021-12-05
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2021-08-21
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
  • 2021-07-23
  • 2021-09-25
相关资源
相似解决方案