+ -
当前位置:首页 → 问答吧 → 快排过程中参数会是负数?

快排过程中参数会是负数?

时间:2011-12-16

来源:互联网

C/C++ code

void QSort(int l, int r)
{
    int lp = l, rp = r, key = (l + r) >> 1;
    while (lp < rp) {
        while (a[lp] < key) lp++;
        while (a[rp] > key) rp--;
        if (lp <= rp)
            swap(&a[lp++], &a[rp--]);
    }
    if (l < rp) QSort(l, rp);
    if (lp < r) QSort(lp, r);
}



如果把int换成unsigned,排很多数据会越界错误,而int就不会错,快排过程中参数会是负数?

作者: lyltim   发布时间: 2011-12-16

两个参数分别是起始位置和终点位置,不会出现负数吧
越界应该和你的数据有关 排序和数据类型关系不大的

作者: hss871838309   发布时间: 2011-12-16

热门下载

更多