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

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

このレッスンでは、Objective-Cでバブルソートのアルゴリズムを実装する方法を学び、並び替えの仕組みを基礎から理解することを目標にします。「Objective-C バブルソート 実装」で調べている方向けです。

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

サンプルコードでは、[@[...] mutableCopy]で可変配列を作り、二重のfor文で隣り合う要素をintegerValueで比較して、順番が逆ならexchangeObjectAtIndex:withObjectAtIndex:で入れ替えています。

初心者がよくつまずくのが、NSArrayとNSMutableArrayの使い分けです。要素の入れ替えを行うには可変配列が必要になるため、まずmutableCopyで変換しておく必要があります。

実務ではsortedArrayUsingSelector:のような最適化された方法を使うのが一般的ですが、内部で何が行われているかを理解する上で学習用として重要なアルゴリズムです。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではObjective-Cを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
泡のように値が浮かび上がっていく、ソートの仕組みそのものを自分で実装できるようになります。
広告スペース(バナー)
広告スペース(記事内)