欢迎光临散文网 会员登陆 & 注册

归并模板

2021-09-15 13:31 作者:54335443735_bili  | 我要投稿

public static void mergeSort(int[] a, int l , int r){
   if (l >= r) return;
   int m = l + r >> 1;
   mergeSort(a, l , m);
   mergeSort(a, m + 1, r);
   int k = 0, i = l , j = m + 1;
   int[] tmp = new int[r - l + 1];
   while (i<= m && j <= r){
       if (a[i] < a[j]) tmp[k ++ ] = a[i ++];
       else tmp[k++] = a[j ++];
   }
   while (i <= m) tmp[k ++] = a[i++];
   while (j <= r) tmp[k++] = a[j++];
   for (i = l, j = 0; i <= r; i++, j++)a[i ] = tmp[j];
}

归并模板的评论 (共 条)

分享到微博请遵守国家法律