MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C++の基礎 - 連想コンテナのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C++の基礎 - 連想コンテナ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == <code>std::set</code>は、ユニークな要素を格納する連想コンテナの一種であり、要素自身がキーとなる。<br> 連想コンテナは、特にそれらキーによる要素アクセスが効率的になるよう設計されたコンテナである。<br> (要素への相対位置または絶対位置によるアクセスが効率的であるシーケンシャルコンテナとは異なる)<br> <br> 内部的には、<code>std::set</code>内の要素は、コンテナの構築時に設定された狭義の弱順序基準にしたがって小さいものから大きいものへとソートされる。<br> <br> <code>std::set</code>は一般的に、二分木として実装される。<br> したがって、連想コンテナである<code>std::set</code>の主な特性は以下の通りである。<br> * ユニークな要素の値 *: 互いに等しい2つの要素が<code>std::set</code>に格納されることはない。<br>複数の等しい値を許す同様の連想コンテナは、<code>std::multiset</code>を参照すること。 * 要素の値はキーそのものである。 *: キーを使用して要素にアクセスする。 *: キーとは異なる値へマップする同様の連想コンテナ (連想配列) は、<code>std::map</code>を参照すること。 * 要素は常に狭義の弱順序に従う。 <br> <code>std::set</code>は、双方向イテレータをサポートする。<br> <br><br> == 値の許可 == 以下の例では、最初に許可された値のリストを<code>std::set</code>として定義している。<br> このデータ構造を使用する理由は、要素の検索が非常に効率的であるためである。 (検索の時間複雑度は、<u>O(log n)</u>)<br> <br> その後、任意の値がこの連想コンテナに含まれているかどうかを確認するため、<code>find</code>メソッドを使用している。<br> 値が含まれていない場合は、50を代入している。<br> <syntaxhighlight lang="c++"> #include <set> // 許可された値のセットを定義 const std::set<int> allowedValues = {10, 20, 30, 40, 45, 50, 55, 60, 70}; // 任意のint型の変数 int hoge = 100; // 任意のint型の変数の値において、許可された値のセットに含まれていない場合は50を代入 if (allowedValues.find(hoge) == allowedValues.end()) { hoge = 50; } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:C++]]
C++の基礎 - 連想コンテナ
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse