에 병합 실행 할 수 없습니다 :정렬이 지정된 배열을 정렬되지 않은 병합 정렬, 내 구현은 자바
[I 58c3d9ac
@ : 나는 그것을 실행하려고 할 때마다, 나는이 출력을 얻을
왜 내가 이것을 볼 수 있습니까? 나는 문제를 찾을 수 없었다.
public static int[] mergeSort(int[] arr, int start, int end){
if (end-start>1){
int middle = start + (end-start) /2;
return merges(mergeSort(arr,start,end), mergeSort(arr,start,end));
}
else{
int[]result = new int[end-start];
for(int i=0; i<end-start; i++)
result[i] = arr[start+i];
return result;
}
}
public static int[] merges(int[]arr1,int[]arr2){
int[] result = new int[arr1.length + arr2.length];
int outPoint=0;
int arr1Point=0;
int arr2Point=0;
while(outPoint<result.length){
if(arr1Point >= arr1.length)
result[outPoint++] = arr2[arr2Point++];
else if (arr2Point >= arr2.length)
result[outPoint++] = arr1[arr1Point++];
else if (arr1[arr1Point] <= arr2[arr2Point])
result[outPoint++] = arr1[arr1Point++];
else
result[outPoint++] = arr2[arr2Point++];
}
return result;
}
}
당신은 제대로을 인쇄하지 않습니다. System.out.print (배열)을 수행하면 해당 출력을 볼 수 있어야합니다. 대신 값을 반복하여 seperatly로 출력하십시오 –