선택 정렬 (Selection Sort)
선택 정렬은 제자리 정렬 알고리즘의 하나로, 해당 순서에 넣을 위치는 이미 정해져 있고, 그 위치에 어떤 원소를 넣을지 선택하는 알고리즘입니다.
시간 복잡도는 O(n²)이며 불안정 정렬(Unstable Sort)입니다.
function selectionSort(arr) {
const n = arr.length;
console.log("초기 배열:", arr);
for (let i = 0; i < n - 1; i++) {
let minIdx = i;
for (let j = i + 1; j < n; j++) {
if (arr[j] < arr[minIdx]) {
minIdx = j;
}
}
// Swap
let temp = arr[i];
arr[i] = arr[minIdx];
arr[minIdx] = temp;
}
return arr;
}
const arr = [5, 3, 1, 4, 2];
console.log("정렬 결과:", selectionSort(arr));