快速排序 过程 动画展示

快速排序 过程 动画展示

 

使用代码

#include <cstdio>
void quick_sort(int a[], int l, int r) {
    if (l < r) {
        int i = l;
        int j = r;
        int x = a[i];
        while (i < j) {
            while (i < j && a[j] > x) {
                j--;
            }
            if (i < j) {
                a[i++] = a[j];
            }
            while (i < j && a[i] < x) {
                i++;
            }
            if (i < j) {
                a[j--] = a[i];
            }
        }
        a[i] = x;
        quick_sort(a, l, i - 1);
        quick_sort(a, i + 1, r);
    }
}

int main(void) {
    int a[] = {9,8,20,2,11};
    quick_sort(a, 0, 4);
    for (auto &i : a) {
        printf("%d ", i);
    }
    printf("\n");
    return 0;
}

参考链接

1

上一篇:mysql 备份数据和恢复


下一篇:785. 快速排序