logo

C++ のハッシュセット

アン 順序付けされていないコレクション 独自の要素で構成されるものを、 C++のハッシュセット 。 Remove や contains などの標準操作コレクションは C++ に含まれています。交差、対称差分、および和集合は、C++ で構成される標準の集合ベースの演算です。項目の識別と検索には、C++ では hashset のハッシュ関数が非常に役立ちます。ハッシュセットは、構成リスト内の重複を識別する際に重要な役割を果たします。このハッシュ関数を使用すると、個別の値だけでなく、重複した値も取得できます。の unowned_list (ハッシュセット) 時間がかかります、つまり o (1) それは本質的に一定です。それ以外の場合、かかる時間は次のようになります。 ああ これは線形時間です。このコンテキストでは、C++ のハッシュセットについてすべて学習します。

マックオペレーティングシステム

構文:

文字列型である C++ でハッシュセットまたは順序なしセットを挿入するための構文は次のとおりです。

 int main() { unordered_set CBA ; CBA.insert('') ; CBA.insert('') ; .................. } 

C++ ハッシュセットとその動作メカニズムの例をいくつか示します。

アン 順序なしセット または ハッシュセット キーが任意の順序で格納されるセットです。 HashSet には、多くの関数が使用されます。ただし、最も一般的に使用される関数を以下に示します。

  1. 容量には size 関数が使用されます。
  2. empty 関数は容量にも使用されます。
  3. find はキーを検索するために使用されます。
  4. その中の変更には消去機能を使用します。
  5. 挿入機能は変更にも使用されます。

アン 順序なしセット 一意のキーのみを許可します。 unowned_multiset 重複キーのみを通過させます。

例:

さまざまな種類の例を使用して、C++ HashSet の動作メカニズム全体を次のように説明しました。

1) {…...} を使用した C++ ハッシュセットの例 これは初期化されたリストです。

C++ で HashSet を使用し、初期化リスト {…..} を使用してセットを初期化する基本的な例を示します。

コード:

 #include #include int main() { std::unordered_set P { 2017, 2016, 2015 }; for (auto Q: P) std::cout << Q << '
'; return 0; } 

出力:

 2015 2016 2017 

2) 比較オブジェクトを渡すためのバイナリ述語の使用:

以下の例では、バイナリ述語セットを使用して比較オブジェクトが渡されます。セットの順序付けは、2 つの同じタイプの要素を使用して定義されます。

Javaで設定

コード:

 #include #include struct JAVATPOINT { template bool operator()(const X& n, const X& p) const { return n > p; } }; int main() { std::set values = { 120, 80, 250 }; for (auto S: values) std::cout << S << '
'; return 0; } 

出力:

 250 120 80 

3) 挿入、反復、検索、宣言を使用した C++ のハッシュセットの例:

以下の例では、挿入、消去、検索の操作に平均して一定の時間がかかります。この例では、セット内にキーが存在しない場合の find 関数が示されています。返されるのは、 イテレーター 終わり() 。一方、反復子は、セット内にキーが存在する場合、簡単にキーの位置に戻ります。ポインタとしてのキー値の場合、キーを受け取るために Iterator が使用されます。キーは次を使用して取得できます。 逆参照 * 演算子

コード:

Linuxタスクマネージャー
 #include using namespace std; int main() { unordered_set CBA ; CBA.insert('Developer') ; CBA.insert('Programmer') ; CBA.insert('tester') ; CBA.insert('HR') ; CBA.insert('Coder') ; string key = 'JAVATPOINT' ; if (CBA.find(key) == CBA.end()) cout << key << ' one of the best company.' << endl << endl ; else cout << 'retrieved' << key << endl << endl ; key = 'Programmer'; if (CBA.find(key) == CBA.end()) cout << key << 'can not retrieve
' ; else cout << 'retrieved ' << key << endl ; cout << '
here is the designations : &apos; &lt;<endl; unordered_set :: iterator itr; for (itr="CBA.begin();" itr !="CBA.end();" itr++) cout << (*itr) endl; } < pre> <p> <strong>Output:</strong> </p> <pre> JAVATPOINT one of the best company. retrieved Programmer here is the designations : HR tester Programmer Coder Developer When the key data is not found in the order list: JAVATPOINT one of the best company Program can not retrieve here is the designations : HR tester Programmer Coder Developer </pre> <p> <strong>4) Using an unordered set searching for duplicate content:</strong> </p> <p>In the given below example as the input, the set of integers is provided, and in the set, the duplicates have been found and displayed in the output.</p> <p> <strong>Code example:</strong> </p> <pre> #include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << 'similar contents are : '; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start ' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;></pre></endl;>

4) 順序なしセットを使用して重複コンテンツを検索します。

以下の例では、入力として整数のセットが提供され、そのセット内で重複が検出され、出力に表示されます。

コード例:

 #include using namespace std; void printDuplicates(int deepak[], int M) { unordered_set JAVATPOINT; unordered_set similar; for (int P = 0; P <m; p++) { if (javatpoint.find(deepak[p])="=" javatpoint.end()) javatpoint.insert(deepak[p]); else similar.insert(deepak[p]); } cout << \'similar contents are : \'; unordered_set :: iterator start; for (start="similar.begin();" start !="similar.end();" start++) *start \' int main() deepak[]="{9," 3, 6, 1, 2, 4, 9, 5, 7, 0, 8}; m="sizeof(Deepak)" sizeof(int); printduplicates(deepak, m); return 0; < pre> <p> <strong>Output:</strong> </p> <pre> similar contents are : 9 6 </pre> <h2>Conclusion:</h2> <p>In the above context, we have learned about HashSet in C++ and its working mechanism of it. In this article, we have also learned the various applications of C++ has set with the help of different examples in which they are working. In finding duplicate content and desired content C++ HashSet plays a vital role in it.</p> <hr></m;>

結論:

上記の文脈で、C++ の HashSet とその動作メカニズムについて学びました。この記事では、C++ のさまざまなアプリケーションが動作するさまざまな例を参考にして設定についても学習しました。重複コンテンツと目的のコンテンツを見つける際に、C++ HashSet は重要な役割を果たします。