Array は、同じ型の要素の連続したコレクションを保持する、C で使用できるデータ構造です。配列のサイズは固定されていますが、必要に応じて拡張または縮小できます。データのコレクションを格納するために使用される場合でも、配列を同じ型の変数のコレクションとして考えることが重要です。セット (この場合は順序なしセット) は、特定のデータ型の要素を任意の順序で格納するコンテナです。ハッシュ テーブルは、unordered_set の実装に使用されます。挿入が常にランダムになるように、キーがハッシュ テーブル インデックスにハッシュされます。
配列から順序なしセットへの変換は、後で説明するさまざまな方法を使用して実行できます。
配列要素をコレクションに 1 つずつ挿入します
配列を順序なしセットに変換する最も簡単な方法は、for ループを使用して、各配列要素を順序なしセットに個別に挿入することです。次に、構文とアルゴリズムを見ていきます。
###文法###
リーリー
###アルゴリズム###
整数配列 ip で入力を取得します。
unowned_set オペレーションを定義します。
- 配列 ip の各要素 i に対して、 - を実行します。
- IP を op に挿入します。
-
###例###
リーリー
###出力###
リーリー
整数配列 ip を宣言し、配列内のすべての要素を反復処理します。出力セットを op として宣言し、コンテナーで使用可能な挿入関数を使用して、順序なしセットに各要素を挿入します。結果として、配列内にも存在する順序のない値のセットが表示されます。 -
範囲コンストラクターを使用してコレクションを構築する
範囲コンストラクターを使用して unowned_set を作成することもできます。範囲コンストラクターは、入力配列の開始ポインターと、入力配列と開始ポインターのサイズの 2 つの入力を受け取ります。
###文法###
リーリー
###アルゴリズム###
整数配列 ip で入力を取得します。
sizeof 演算子を使用して、入力配列のサイズを決定します。
配列のサイズを整数変数 n に代入します。
配列開始ポインターと配列サイズを使用して、unowned_set オペレーションを構築します。
opの内容を表示します。
###例###
リーリー
###出力###
リーリー
この例では、sizeof 関数を使用して配列のサイズを決定する必要があります。私たち
サイズを変数 n に割り当て、ポインター ip と ip n を使用して unowned_set を作成します。
操作する。 -
###結論は###
unowned_set には任意のタイプのデータを含めることができます。保持するデータ型を変更するには、- に含まれるデータ型を変更する必要があります。コンテナーはプリミティブ型とユーザー定義型を適切にサポートします。実際には、unowned_set は非常にうまく機能し、通常は定数時間の検索操作を提供します。 unowned_set のすべての操作には通常、一定時間 O(1) がかかりますが、内部ハッシュ関数によっては、最悪の場合、最大で線形時間 O(n) かかる場合があります。
以上が配列をセット(ハッシュセット)に変換するC++プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。