JavaScript 로 배우는 선택 정렬 실습

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 선택 정렬 알고리즘을 살펴보고 JavaScript 에서 숫자 배열을 정렬하는 방법을 배웁니다. 이 랩은 선택 정렬에 대한 실습 경험을 제공하고 내부 작동 방식을 이해하는 데 도움을 주는 것을 목표로 합니다. 이 랩을 마치면 선택 정렬에 대한 확실한 이해를 갖게 되며, 향후 프로젝트에서 정렬 문제를 해결하는 데 적용할 수 있게 됩니다.

선택 정렬 알고리즘

코딩을 시작하려면 터미널/SSH 를 열고 node를 입력하세요.

다음 함수는 선택 정렬 알고리즘을 사용하여 숫자 배열을 정렬합니다.

const selectionSort = (arr) => {
  const a = [...arr];
  for (let i = 0; i < a.length; i++) {
    const min = a
      .slice(i + 1)
      .reduce((acc, val, j) => (val < a[acc] ? j + i + 1 : acc), i);
    if (min !== i) [a[i], a[min]] = [a[min], a[i]];
  }
  return a;
};

함수를 사용하려면 다음과 같이 selectionSort()에 숫자 배열을 전달합니다.

selectionSort([5, 1, 4, 2, 3]); // [1, 2, 3, 4, 5]

이 함수는 spread operator (...) 를 사용하여 원래 배열을 복제하여 작동합니다. 그런 다음 for 루프를 사용하여 배열을 반복합니다. Array.prototype.slice()Array.prototype.reduce()를 사용하여 현재 인덱스 오른쪽에 있는 하위 배열에서 최소 요소의 인덱스를 찾습니다. 필요한 경우 swap 을 수행합니다.

요약

축하합니다! 선택 정렬 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.