0
Я новичок в Java и попытался реализовать mergesort в Java. Тем не менее, даже после запуска программы несколько разПроблема с рекурсивной сортировкой сортировки merge
это метод сортировки слиянием
public static int[] mergeSort(int[] array) {
int size = array.length;
if (size < 2)
return array;
else {
int mid = array.length/2;
int leftSide = mid;
int rightSide = size - mid;
int[] left = new int[leftSide];
int[] right = new int[rightSide];
for (int i = 0; i < mid; i++)
left[i] = array[i];
for (int i = mid; i < size; i++)
right[i - mid] = array[i];
left = mergeSort(left);
right = mergeSort(right);
return merge(left, right);
}
}
и это метод слияния
private static int[] merge(int[] left, int[] right) {
int[] sum = new int[left.length + right.length];
int i = 0, j = 0, k = 0;
while (i < left.length && j < right.length) {
if (left[i] < right[i]) {
sum[k] = left[i];
i++;
k++;
} else {
sum[k] = right[j];
j++;
k++;
}
}
while (i < left.length) {
sum[k] = left[i];
k++;
i++;
}
while (j < right.length) {
sum[k] = right[j];
k++;
j++;
}
return sum;
}
что все я устал , пожалуйста, помогите мне найти его