归并排序 java 行数少

点击查看代码
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;
    }
posted @ 2025-02-22 23:59  Moqinc  阅读(18)  评论(0)    收藏  举报