
원소 중 가장 작은 값을 선택해 맨 앞에 위치시키는 것을 반복
⇒ 한 루프를 돌면서 최소 값을 찾아 갱신하고 해당 루프가 종료되면 맨 앞자리 요소와 자리 변경
n-1번으로 적음최소값을 저장할 변수 선언 후 배열의 첫 번째 값을 할당
루프를 돌며 가장 작은 변수 값을 찾아 갱신
⇒ 이때 저장하는 것은 최소 값의 값(value)이 아닌 값의 위치(index)
루프가 종료되면 최소 값과 맨 앞자리 요소의 자리를 바꿈
모든 정렬이 완료될 때까지 해당 과정 반복

function selectionSort(arr) {
const len = arr.length;
for (let i = 0; i < len - 1; i++) {
let minIndex = i;
for (let j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex !== i) {
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; // swap
}
}
return arr;
}
// 테스트
const arr = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9];
console.log(selectionSort(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
설아님 선택정렬인데 코드엔 bubbleSort로 되어있어유 !!