広告スペース(バナー)
🟨JavaScript レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 36 / 69

バブルソートの仕組みを理解する

このレッスンでは、バブルソートというアルゴリズムを実装しながら、並び替え処理の基本的な仕組みを理解することを目標にします。「JavaScript ソート 実装」「バブルソート 仕組み」で調べている方向けの内容です。

バブルソートは、隣り合う2つの値を比べて、順番が逆なら入れ替える、を繰り返して並び替えるシンプルなアルゴリズムです。「大きい泡が少しずつ水面に浮かび上がっていく」ようすに似ていることからこの名前が付きました。.sort()を使わず、仕組みそのものを体験してみましょう。

サンプルコードでは、二重のfor文を使い、外側のループで全体を何周も回しながら、内側のループで隣り合う要素を比較・交換しています。1周するごとに、最大の値が配列の末尾へ「浮かび上がって」いく様子を、実際に配列の値を変えながら確認してみると理解が深まります。

初心者がよくつまずくのが、内側のループの範囲を正しく絞り込めない点です。すでに並び替えが完了した末尾の部分まで毎回比較してしまうと無駄な処理が増えるため、少しずつ比較範囲を狭めていく工夫が必要になります。アルゴリズムを学ぶ最初の一歩として、動きをじっくり目で追いながら理解するのに向いています。

実務での使用頻度は低くても、アルゴリズムの考え方を学ぶ価値は大きい題材です。JavaScript標準の.sort()メソッドはより高速なアルゴリズムで実装されているため、実際の開発では自分でソートを実装することはほとんどありませんが、コンピュータサイエンスの基礎を理解するうえで重要な一歩です。

JavaScript
OUTPUT / 実行結果

💡 console.log() の内容が実行結果に表示されます。

🎯
ここまでできればゴール達成!
バラバラの数値を順番通りに並び替える、ソートプログラムが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)