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 までのセグメントを反復処理し、順序が乱れた隣接要素を交換して 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 でさらに実験を練習することができます。