快速排序/快排(Python3)

快排的Python3实现方法

A = [-1, 3, -2, 4, -5];

def quicksort(A: int, left: int, right: int):
    if left > right:
        return;
    i = left;
    j = right;
    x = A[left];
    while i < j:
        while A[j] >= x and i < j:
            j -= 1;
        while A[i] <= x and i < j:
            i += 1;
        if i < j:
            temp = A[i];
            A[i] = A[j];
            A[j] = temp;
    A[left] = A[i];
    A[i] = x;
    quicksort(A, left, i-1);
    quicksort(A, i+1, right);

quicksort(A, 0, len(A)-1);
print(A);

你可能感兴趣的:(Note)