Computer Science/Algorithm, Data Structure

자바스크립트 알고리즘 선택 정렬(Selection Sort)

Write and Remember 2019. 6. 17. 20:54

출처: https://reactgo.com/selection-sort-algorithm-javascript/

 

선택 정렬(Selection Sort)

 

선택한 값을 최소 요소로 선택하고

 

선택한 값보다 작은 요소가 있다면 그 값과 스왑 한다.

 

for 중첩 구문으로

 

min으로 지정한 값을 배열의 끝까지 비교를 하여

 

제일 작은 수를 찾아낸 후

 

temp라는 임시 변수를 생성하여 값을 스왑 한 후 다시 반복

 

function selectionSort(arr, length = arr.length) {
  for (let i = 0; i < length; i++) {
    let min = i;
    for (let j = i + 1; j < length; j++) {
      if (arr[min] > arr[j]) min = j;
    }
    if (i !== min) {
      let temp = arr[i];
      arr[i] = arr[min];
      arr[min] = temp;
    }
  }

  return arr;
}

console.log(selectionSort([4, 5, 1, 2, 9, 6])); // [1, 2, 4, 5, 6, 9]
1 2 3 4 5 6 7 ··· 12