🍀 코딩 테스트/쉽게 배우는 JavaScript 알고리즘 입문

선택 정렬 알고리즘

놀러와요 버그의 숲 2022. 8. 12. 13:56
728x90
반응형
// 무작위 데이터를 순서대로 [오름차순 | 내림차순] 정렬

//정렬 알고리즘 : 가장 작은/큰 데이터를 왼쪽으로 순서대로 이동

(function () {
  //[1] Input: Data Structure (Array,List,Stack,Queue,Tree,DB)
  let data = [3, 2, 1, 5, 4]; // 정렬되지 않은 데이터
  const N = data.length;
  //[2] Process: Selection Sort (선택정렬) 알고리즘
  for (let i = 0; i < N - 1; i++) {
    for (let j = i + 1; j < N; j++) {
      if (data[i] > data[j]) {
        //부등호 방향: 오름차순(>) 내림차순(<)
        let temp = data[i];
        data[i] = data[j];
        data[j] = temp;
      }
    }
  }
  // [3] Output
  for (let i = 0; i < N; i++) {
    console.log(data[i]);
  }
})();

서로의 순서를 바꿔줄 때는 temp라는 변수를 하나 선언하고 위치를 서로 옮겨주는 것을 배웠다.

'🍀 코딩 테스트 > 쉽게 배우는 JavaScript 알고리즘 입문' 카테고리의 다른 글

그룹 알고리즘  (0) 2022.08.21
최빈값 알고리즘  (0) 2022.08.21
순위알고리즘  (0) 2022.07.25
근사값 알고리즘  (0) 2022.07.19
최솟값 알고리즘  (0) 2022.07.19