개발 잘 하고 싶다 => 알고 쓰자/JavaScript
[JavaScript] 삽입, 버블, 선택 정렬
삽입 정렬
function insertionSort (array) {
for (let i = 1; i < array.length; i++) {
let cur = array[i];
let left = i - 1;
while (left >= 0 && array[left] > cur) {
array[left + 1] = array[left];
left--;
}
array[left + 1] = cur;
console.log(`${i}회전: ${array}`);
}
return array;
}
버블 정렬
function bubbleSort (array) {
for (let i = 0; i < array.length; i++) {
let swap;
for (let j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
swap = array[j];
array[j] = array[j + 1];
array[j + 1] = swap;
}
}
console.log(`${i}회전: ${array}`);
if (!swap) {
break;
}
}
return array;
}
선택 정렬
function selectionSort (array) {
for (let i = 0; i < array.length; i++) {
let minIndex = i;
for (let j = i + 1; j < array.length; j++) {
if (array[minIndex] > array[j]) {
minIndex = j;
}
}
if (minIndex !== i) {
let swap = array[minIndex];
array[minIndex] = array[i];
array[i] = swap;
}
console.log(`${i}회전: ${array}`);
}
return array;
}
'개발 잘 하고 싶다 => 알고 쓰자 > JavaScript' 카테고리의 다른 글
23.10.25 - 노드 버전은 fnm 으로 관리하자 (1) | 2023.10.25 |
---|---|
[Javascript] for of, for in (0) | 2023.07.27 |
[JavaScript] ESLint && Prettier (0) | 2022.01.15 |
[JavaScript] JavaScript 101 - The Principle of JavaScript (2) | 2021.11.25 |
[JavaScript] var의 문제점 (0) | 2021.09.16 |
댓글