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 루프를 사용하여 0i 사이의 배열 세그먼트를 반복하고, 순서가 잘못된 인접 요소를 교환하고 swappedtrue로 설정합니다.

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

예제 코드:

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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.