広告スペース(バナー)
🔧C言語 レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 27 / 68
配列から重複を取り除く(集合的な処理)
このレッスンでは、C言語で配列から重複を取り除く方法を学び、集合的な処理の基本を理解することを目標にします。「C言語 配列 重複除去 実装」で調べている方向けです。
C言語には専用のSet型はありませんが、新しい配列に「まだ入っていない値だけ」を追加していくことで、重複のないデータを作れます。値を追加する前に、既に含まれているかを確認するのが基本の考え方です。
サンプルコードでは、uniqueという配列に対して、numsの各要素が既に含まれているかを内側のfor文でチェックし、含まれていなければ追加しています。二重ループで検索と追加を行う、シンプルな実装方法です。
初心者がよくつまずくのが、データ量が多い場合の処理速度です。この方法は要素数の2乗に比例して処理時間が増えるため、大量のデータには適していません。より高速な方法にはハッシュテーブルなどの工夫が必要です。
実際の開発現場では、限られた環境で動くC言語では、こうしたシンプルなアルゴリズムの効率をよく理解しておくことが重要です。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではC言語を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
重複のないタグを管理する機能が作れるようになります。
重複のないタグを管理する機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)