快速排序

9 天前(已编辑)

快速排序

一. 算法模板

基于分治做排序

void quick_sort(int ary[], int l, int r) {
    if (l >= r) return;

    int i = l - 1, j = r + 1, x = ary[l + r >> 1];

    while(i < j) {
        do i++; while(ary[i] < x);
        do j--; while(ary[j] > x);
        if (i < j) swap(ary[i], ary[j]);
    }

    quick_sort(ary, l, j);
    quick_sort(ary, j + 1, r);
}

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...