C++セットの挿入関数

C++ では、std::unordered_setこれは順序付けされていないコレクション コンテナーであり、ハッシュ テーブルを使用して実装され、特定の並べ替え基準に従って要素を格納しません。std::unordered_setコンテナ内の要素は一意であり、重複は許可されません。

std::unordered_setinsertコンテナに要素を挿入するための関数を提供します。insertこの関数にはオーバーロードされたバージョンがいくつかありますが、最も一般的に使用されるバージョンは 1 つの引数、つまり挿入する要素を受け取ります。

関数が呼び出されると、指定された要素をコンテナーinsertに挿入しようとします。std::unordered_set挿入が成功し、その要素が以前にコンテナーに存在しなかった場合、挿入操作が実行され、挿入が成功したことを示すのメンバーを持つstd::pairオブジェクトが返されます。挿入される要素が既にコンテナーに存在する場合、挿入操作は実行されず、返されるオブジェクトのメンバーはであり、挿入が失敗したことを示します。.secondtruestd::pair.secondfalse

.firststd::pairオブジェクトの最初の要素を参照します。set.insert(head)の返された結果には、に挿入された要素、またはすでに存在する要素を.first指す反復子が格納されます。setこの反復子を使用して、要素にさらにアクセスしたり操作したりできます。

std::unordered_setこの関数の使用方法を示すサンプル コードを次に示しますinsert

#include <iostream>
#include <unordered_set>

int main() {
    std::unordered_set<int> mySet;
    int value = 42;

    auto result = mySet.insert(value);
    if (result.second) {
        std::cout << "Insertion successful. " << value << " is a new element." << std::endl;
    } else {
        std::cout << "Insertion failed. " << value << " already exists in the unordered set." << std::endl;
    }

    return 0;
}

上記の例では、mySet値を持つ要素が .html ファイル内に存在しない場合、42挿入操作は成功します。挿入が成功した場合はresult.secondとなりtrue、挿入された要素が新しい要素であることを示します。mySet値を持つ要素がすでに に存在する場合42、挿入操作は失敗します。挿入が失敗した場合は となり、挿入された要素が既に存在することを示しますresult.secondfalse

std::unordered_setコンテナ内で挿入された要素の具体的な位置はハッシュ関数に従って計算されるため、この不規則性により不確実であることに注意してください。

おすすめ

転載: blog.csdn.net/2201_75772333/article/details/130665167