蒟蒻的代码

yehongchen 2023-10-15 15:33:04 2023-11-07 17:40:41 10

void merge(int a[], int l, int r) {

    if (r - l < 1)  //区间长度小于1了

        return;

    int mid = (l + r) >> 1;  //二分

    merge(a, l, mid);        //左半段

    merge(a, mid + 1, r);    //右半段

    int i = l, j = mid + 1;


    fir(k, l, r) if (j > r || i <= mid && a[i] <= a[j])  //将当前最小的放入备用数组.

        b[k] = a[i++];  // a[i]被放入,要么是当前最小,要么就是另外一个数组已经空了

    else b[k] = a[j++];

    fir(k, l, r) a[k] = b[k];

}

。 啊吧啊吧,root我这没发完整答案!!!!!!!!!!!!!!!!!!!!!!!!!!!

{{ vote && vote.total.up }}