[ java ] JavaFestival13 - Question6 - 합병 - 두개배열 병합정렬
페이지 정보
작성자 웹지기 댓글 0건 조회 7,000회 작성일 21-01-07 03:30본문
JavaFestival13
- Question6 - 두개의 배열 A와B를 합병 후 오름차순으로 정렬하여 반환하는 mergeArray메소드를 완성하시오.
import java.util.Arrays;
public class Question6 {
public static void main(String[] args) {
int[] A = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };
int[] B = { 2, 4, 5, 8, 10, 12, 14, 16, 18, 20 };
int[] C = new int[A.length + B.length];
int[] Merge = mergeArray(A, B);
System.out.print("Merge : "+Arrays.toString(Merge));
}
public static int[] mergeArray(int[] a, int[] b) {
int pa = 0;
int pb = 0;
int pc = 0;
int na = a.length;
int nb = b.length;
int[] c = new int[a.length + b.length];
while (pa < na && pb < nb) { // 작은 값
c[pc++] = (a[pa] <= b[pb]) ? a[pa++] : b[pb++];
}
while (pa < na) { // a 요소 복사
c[pc++] = a[pa++];
}
while (pb < nb) {
c[pc++] = b[pb++];
}
return c;
}
}
결과
Merge : [1, 2, 3, 4, 5, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
댓글목록
등록된 댓글이 없습니다.