点击查看代码
int[] sort(int[] array, int start, int end) {if (start == end) {return new int[]{array[start]};}int i = 0;int j = 0;int k = 0;int middle = (start + end) >> 1;int[] left = sort(array, start, middle);int[] right = sort(array, middle + 1, end);int[] third = new int[left.length + right.length];while (i < left.length && j < right.length) {third[k++] = (left[i] < right[j] ? left[i++] : right[j++]);}while (i < left.length) {third[k++] = left[i++];}while (j < right.length) {third[k++] = right[j++];}return third;}