JavaScript 버블 정렬 알고리즘

Beginner

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

소개

이 랩에서는 버블 정렬 알고리즘을 사용하여 배열을 정렬하는 데 중점을 둔 JavaScript 프로그래밍 연습을 진행합니다. 이 랩의 목적은 버블 정렬 알고리즘의 작동 방식을 이해하고, JavaScript 프로그래밍 기술을 연습할 수 있는 기회를 제공하는 것입니다. 이 랩을 마치면 JavaScript 에서 버블 정렬 알고리즘을 구현하는 방법과 이를 사용하여 숫자 배열을 정렬하는 방법에 대한 더 나은 이해를 얻게 될 것입니다.

버블 정렬 알고리즘

코딩 연습을 위해 터미널/SSH 를 열고 node를 입력하여 시작합니다. 버블 정렬 알고리즘은 숫자 배열을 정렬합니다.

버블 정렬 알고리즘을 사용하여 배열을 정렬하는 단계:

  1. 현재 반복에서 값이 교환되었는지 여부를 나타내는 변수 swapped를 선언합니다.

  2. 스프레드 연산자 (...) 를 사용하여 원래 배열 arr을 복제합니다.

  3. for 루프를 사용하여 복제된 배열의 요소를 반복하고, 마지막 요소 전에 종료합니다.

  4. 중첩된 for 루프를 사용하여 0과 i 사이의 배열 세그먼트를 반복하고, 순서가 잘못된 인접 요소를 교환하고 swapped를 true로 설정합니다.

  5. 반복 후 swapped가 false이면 더 이상 변경이 필요 없으므로 복제된 배열이 반환됩니다.

예제 코드:

const bubbleSort = (arr) => {
  let swapped = false;
  const a = [...arr];
  for (let i = 1; i < a.length; i++) {
    swapped = false;
    for (let j = 0; j < a.length - i; j++) {
      if (a[j + 1] < a[j]) {
        [a[j], a[j + 1]] = [a[j + 1], a[j]];
        swapped = true;
      }
    }
    if (!swapped) return a;
  }
  return a;
};

bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]

요약

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