선택 정렬(Select Sort)

슬기로운 코딩생활·2021년 4월 13일
0

2021.04

목록 보기
3/13
post-thumbnail

•정의

제자리 정렬 알고리즘의 하나로, 최소값을 찾아 맨 앞으로 보내고, 그당음으로 작은 값을 찾아 2번째 위치로 보내는 식으로 정렬한다.
중첩 루프문이 있어서 2차 복잡도를 가지므로 복잡도는 O(n²)이다.

•코드

const swap = (index1,index2,arr) => {
  let aux = arr[index1];
  arr[index1] = arr[index2];
  arr[index2] = aux
}

const selectSort = (arr) => {
  let length = arr.length;
  let indexMin;
  for(let i = 0; i < length-1; i++){
    indexMin = i;
    for(let j = i; j < length; j++){
      if(arr[j] > arr[j+1]){
        indexMin = j;
      }
    }
    if(i !== indexMin){
      swap(i, indexMin);
    }
  }
}

0개의 댓글