package com.leecode.Sort; import java.util.Arrays; public class MergeSort { //合并函数 void mergearray(int a[], int first, int mid, int last, int temp[]) { int i = first, j = mid + 1; int m = mid, n = last; int k = 0; while (i <= m && j <= n) { if (a[i] <= a[j]) temp[k++] = a[i++]; else temp[k++] = a[j++]; } //到这一步骤说明i或者j已到达子序列的末尾,没有加入的数字直接添加到辅助数组后边 while (i <= m) temp[k++] = a[i++]; while (j <= n) temp[k++] = a[j++]; for (i = 0; i < k; i++) a[first + i] = temp[i]; } //递归分割 void mergesort(int a[], int first, int last, int[] temp){ if(first