はじめに
この実験では、バブルソートアルゴリズムを使って配列をソートする JavaScript のプログラミング演習を行います。この実験の目的は、バブルソートアルゴリズムがどのように機能するかを理解することと、JavaScript のプログラミングスキルを練習する機会を与えることです。この実験が終了するまでに、JavaScript でバブルソートアルゴリズムを実装する方法と、数値の配列をソートするためにそれをどのように使うかをより深く理解するようになります。
バブルソートアルゴリズム
コーディングを練習するには、ターミナル/SSH を開き、node と入力して開始します。バブルソートアルゴリズムは数値の配列をソートします。
バブルソートアルゴリズムを使って配列をソートする手順:
- 現在の反復中に値が交換されたかどうかを示す変数
swappedを宣言します。 - スプレッド演算子 (
...) を使って元の配列arrをクローンします。 - クローンされた配列の要素を反復処理するために
forループを使い、最後の要素の前で終了します。 - ネストした
forループを使って配列の0からiまでのセグメントを反復処理し、順序が乱れた隣接要素を交換してswappedをtrueに設定します。 - 反復処理後に
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 でさらに実験を練習することができます。