[JS] 선택정렬

Kyle·2020년 10월 5일
0

선택정렬


선택 정렬은 배열 내의 숫자를 정렬 하는데 사용하는 방법이다. 하지만, 시간복잡도가 O(n^2)이다.


  1. 0번 인덱스를 선택
  2. 0번 뒤에 있는 값들 중 최솟 값을 0번 인덱스 값과 자리바꾼다.
  3. 1번 인덱스를 선택
  4. 1번 뒤에 있는 값들 중 최솟 값을 1번 인덱스 값과 자리바꾼다.
  5. ... 쭉 반복

소스코드

const selectionSort = (arr) => {
  let minIndex;
  //let temp;

  for (let i = 0; i < arr.length; i++) {
    minIndex = i;
    for (let j = i + 1; j < arr.length; j++) {
      //가장 값은 값을 선택하기 위한 과정
      if (arr[minIndex] > arr[j]) minIndex = j;
    }
    // temp = arr[i];
    // arr[i] = arr[minIndex];
    // arr[minIndex] = temp;
    //위의 3개의 식을 아래와 같이 작성할 수 있다.
    [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
  }

  return arr;
};
profile
Kyle 발전기

0개의 댓글