병합 정렬 프로그램은 이론적으로 두 개의 동일한 수의 배열을 찾습니다. 그러나 반환되는 값은 순서가 아니며 적절하지 않습니다. 병합 된 목록 끝에 세 개의 0이 표시되고 배열에 포함되지도 않습니다.병합 정렬이 반환되지 않음 적절한 값
public class Merge_Sort
{
public static void main(String [] args)
{
int [] a1 = new int[10];
int [] b1 = {32, 26, 44, 87, 48, 51, 53, 89, 92, 1};
a1[0] = 12;
a1[1] = 36;
a1[2] = 45;
a1[3] = 52;
a1[4] = 48;
a1[5] = 24;
a1[6] = 29;
a1[7] = 98;
a1[8] = 23;
a1[9] = 32;
int i = 0, j = 0, k = 0;
int[] merge = new int[a1.length + b1.length];
while (i < a1.length && j < b1.length) {
if (a1[i] < b1[j]) {
merge[k] = a1[i];
i++;
} else {
merge[k] = b1[j];
j++;
}
k++;
}
for (int x : merge) {
System.out.println(x);
}
}
}
병합 정렬에 대해 알아보기 : http://www.geeksforgeeks.org/iterative-merge-sort/ – rafid059