알고리즘 설명 : 주어진 레코드 세트의 경우, 먼저 길이 1의 인접한 두 하단 시점을 모두 병합하여 길이 2 또는 1의 N/2 (둥근 위쪽) 순서를 쌍으로 합쳐 놓은 다음 주문한 시퀀스를 얻을 때 까지이 프로세스를 반복합니다.
패키지 분류;/*** 병합 정렬* 평균 O (nlogn), Best O (nlogn), 최악의 O (nlogn); 공간 복잡성 O (N); 안정적인; 더 복잡한 * @author zeng */public class mergesort {public static void merge (int [] a, int start, int mid, int end) {int [] tmp = new int [a.length]; system.out.println ( "merge" + start + " +" + " +" + 1, k = 시작; (a [i] <a [j]) tmp [k ++] = a [i ++]; else tmp [k ++] = a [j ++];} while (i! = mid+1) tmp [k ++] = a [i ++]; "); system.out.println ();} 정적 무효 mergesort (int [] a, int start, int end) {if (start <end) {int mid = (start + end)/ 2; mergesort (a, start, mid); // mergesort (a, mid + 1, end); // arrge (arrge, end, end);}}}} {int [] b = {49, 38, 65, 97, 76, 13, 27, 50}; Mergesort (b, 0, b.length -1);}}작업 결과를 살펴 보겠습니다.
요약
위의 내용은 Java 정렬 알고리즘의 병합 분류의 간단한 구현에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!