728x90
참고 영상 사이트는 여기 입니다.
👉 특징
👉 코드
전체 어떤 느낌인지는 알겠지만, 코드적으로 확 와닿지는 않는다!!
public class Test {
private static void mergeSort(int[] arr) {
int[] tmp = new int[arr.length];
mergeSort(arr, tmp, 0, arr.length - 1);
}
private static void mergeSort(int[] arr, int[] tmp, int start, int mid, int end) {
if (start < end) {
int mid = (start + end) / 2;
mergeSort(arr, tmp, start, mid);
mergeSort(arr, tmp, mid + 1, mid);
merge(arr, tmp, start, mid, end);
}
}
private static void merge(int[] arr, int[] tmp, int start, int mid, int end) {
for (int i = start; i <= end; i++) {
tmp[i] = arr[i];
}
int part1 = start;
int part2 = mid + 1;
int index = start;
while (part1 <= mid && part2 <= end) {
if (tmp[part1] <= tmp[part2]) {
arr[index] = tmp[part1];
part1++;
} else {
arr[index] = tmp[part2];
part2++;
}
}
for (int i = 0; i <= mid - part1; i++) {
arr[index + i] = tmp[part1 + i];
}
}
public static void main (String[] args) {
int[] arr = {3, 9, 4, 7, 5, 0, 1, 6, 8, 2};
mergeSort(arr);
}
}
'프로그래밍 > 코딩테스트' 카테고리의 다른 글
[백준] 1차원 배열 문제집 (완료) (0) | 2023.08.04 |
---|---|
[탐색] 이진 탐색(Binary Search) (0) | 2023.08.02 |
[탐색] 너비 우선 탐색(BFS) (0) | 2023.07.31 |
[탐색] 깊이 우선 탐색(DFS) (0) | 2023.07.31 |
[정렬] 삽입정렬(Insertion Sort) (0) | 2023.07.28 |