快速排序

来源:互联网 发布:淘宝里美即官方旗舰店 编辑:程序博客网 时间:2024/06/12 19:55

仅表示提供一种写法,若有错误,感谢指出。

第一次传参为 quick(a, 0, a.size() - 1)

void quick(int a[], int le, int ri){    if (le >= ri) return;    int x = a[ri];    int pos = le - 1;    for (int i = le; i < ri; ++i) {        if (a[i] <= x) {            ++pos;            swap(a[pos], a[i]);        }    }    swap(a[pos+1], a[ri]);    quick(a, le, pos);    quick(a, pos + 2, ri);}



原创粉丝点击