C++におけるunordered_setの使い方は何ですか?

unordered_setは、C++の標準ライブラリに含まれる、重複を許さない要素を格納するための無順集合コンテナです。ハッシュテーブルを基にしたデータ構造で、要素の高速な検索、挿入、削除が可能です。

unordered_setの使い方は次の通りです:

  1. ヘッダーファイルを含める必要があります。
  2. コンテナを定義する:std::unordered_setテンプレートを使用してunordered_setオブジェクトを定義することができます。要素のタイプとハッシュ関数を指定することができます。
#include <unordered_set>

std::unordered_set<int> mySet; // 定义一个存储int类型元素的unordered_set
  1. 挿入する
mySet.insert(10); // 插入元素10
mySet.insert(20); // 插入元素20
  1. 消す
mySet.erase(10); // 删除元素10
  1. 見つける
std::unordered_set<int>::iterator it = mySet.find(20);
if (it != mySet.end()) {
    // 元素存在
} else {
    // 元素不存在
}
  1. unordered_set内のすべての要素をイテレータを使用して反復処理する。
for (std::unordered_set<int>::iterator it = mySet.begin(); it != mySet.end(); ++it) {
    // 处理*it
}

unordered_setには、emptyはunordered_setが空かどうかをチェックするために使用され、sizeはunordered_set内の要素数を返すために使用され、clearはunordered_set内のすべての要素をクリアするために使用されるなど、他の一般的なメンバー関数も提供されています。

unordered_setの中身は順序がないことに注意が必要です。挿入や検索の平均時間計算量は定数O(1)ですが、最悪の場合は線形のO(n)になる可能性があります。

bannerAds