C は、同じ名前の辞書という点で Python とは異なりますが、同様の機能を備えた同じデータ構造を持っています。 C はマッピングをサポートしており、STL クラス std::map で使用できます。マップ オブジェクトには各エントリに値のペアが含まれており、1 つはキー値、もう 1 つはマップ値です。キー値は、マップ内のエントリを検索し、一意に識別するために使用されます。マップされた値は必ずしも一意である必要はありませんが、キーの値はマップ内で常に一意である必要があります。マッピングの使い方を見てみましょう。
まず、C でマッピング データ構造を定義する方法を見てみましょう。
###文法###
リーリー
例を挙げて、これを行う方法を見てみましょう −
###例###
リーリー
###出力###
リーリー
C では、マップ (マップ) はさまざまな方法で初期化できます。アルゴリズムは非常にシンプルです。
###アルゴリズム###
マップ オブジェクトを作成します。
オブジェクトの宣言時に値をオブジェクトに割り当てます。
-
初期化リストを使用してマップを初期化する
初期化リストを使用してマップを初期化することは、C で配列を初期化することと同じです。マッピングを宣言するときに、中括弧で囲んで {key, value} の形式でキーと値のペアを割り当てるだけです。構文は次のとおりです。 -
###文法###
リーリー
###例###
リーリー
###出力###
リーリー
代入演算子を使用してマッピングを初期化する
これは、配列内の特定のインデックスに値を割り当てることに似ています。インデックスについては言及しませんでしたが、配列と同じようにマップの添字にキーの値を入れます。
###文法###
リーリー
###例###
リーリー
###出力###
リーリー
別のマップからマップを初期化する
別のマップからマップを初期化できるように、マップを別のマップにコピーする必要がある場合があります。宣言時にマップ オブジェクトをマップのコピー コンストラクターに渡すことで、マップ クラスのコピー コンストラクターを利用します。
###文法###
リーリー
###例###
リーリー
###出力###
リーリー
###結論は###
C の Map は順序付きセットです。つまり、Map 内の要素はキー値によって並べ替えられます。そのため、キーと値のペアが並べ替えられていない順序付けされていないマップなど、他の同様のデータ構造と比較して速度が遅くなります。マップ内のすべての操作は対数的な複雑さを持ち、赤黒ツリーとしてメモリに実装されます。ただし、実際には、マッピングはキーと値の方法でデータを保存する際に優れた柔軟性を提供するため、非常に便利です。マップを初期化する主な方法をすべて説明しました。初期化には多くの方法がありますが、これらは最も直観的な方法です。
以上がC++プログラム初期化辞書の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。