728x90
반응형
References
이번 글은 아래 자료를 참고하여 작성하였습니다.
Insertion Sort on Khan Academy
Insertion Sort
function insert(array, rightIndex, value) {
// let temp;
// for (let i = rightIndex; i >= 0; --i) {
// if (value < array[i]) {
// temp = array[i];
// array[i] = value;
// array[i + 1] = temp;
// }
// }
for (let i = rightIndex; i >= 0 && array[i] > value; --i) {
array[i + 1] = array[i];
array[i] = value;
}
}
function insertionSort(array) {
for (let i = 1; i < array.length; ++i) {
insert(array, i - 1, array[i]);
}
return array;
}
const array = [3, 5, 7, 11, 13, 2, 9, 6];
console.log(insertionSort(array)); // [2, 3, 5, 6, 7, 9, 11, 13]
insertionSort
를 통해 주어진 배열을 입력값으로 탐색하면서 rightIndex
범위 내의 값들 중 입력값보다 탐색값이 크다면 탐색값의 index를 1
만큼 증가시키고, array[i]
에 있던 값을 value
로 바꾼다. 이 작업을 반복하면 주어진 배열이 오름차순으로 정렬된다.
728x90
반응형
'👩💻 Programming > Algorithms & Data Structures' 카테고리의 다른 글
재귀 알고리즘(Recursive Algorithms) (0) | 2022.04.07 |
---|---|
퀵 정렬(Quick Sort) (0) | 2022.04.07 |
합병 정렬(Merge Sort) (0) | 2022.04.07 |
선택 정렬(Selection Sort) (0) | 2022.04.07 |
거품 정렬(Bubble Sort) (0) | 2022.04.07 |
댓글