본문 바로가기
Computer Science/Algorithm, Data Structure

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

by Write and Remember 2019. 6. 17.

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

 

선택 정렬(Selection Sort)

 

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

 

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

 

예를 들면,

 

[4, 3, 5, 1]

 

[1, 3, 5, 4]

 

[1, 3, 4, 5]

 

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]

댓글0