- 선택 정렬은 배열을 처음부터 훑어서 가작 작은 수를 제일 앞에 가져다 놓는다. 그 다음, 다시 배열을 훑어서 두 번째로 작은 수를 두 번째 칸에 놓는다. 이 과정을 계속 반복한다.
const selectSort = function (arr) {
let minNum = 0;
let temp = 0;
for (let i = 0; i < arr.length - 1; i++) {
// 처음부터 훑으면서
minNum = i;
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minNum]) {
minNum = j;
}
}
temp = arr[minNum]; // 최솟값을 저장
arr[minNum] = arr[i];
arr[i] = temp; // 최솟값을 제일 앞으로 보냄
}
return arr;
};
// 예시 배열
selectSort([5, 1, 4, 7, 2, 6, 8, 3]); // [1,2,3,4,5,6,7,8]