5

重複の可能性:
C ++でセットのベクトルを実行する方法は?

コードに含まれるさまざまなレベルのセットが必要です。各レベルのセットは整数値を保持します。これらのセットの数は、必要なレベルの数(入力として指定)に応じて動的である必要があります。

このために、動的なセット構造が必要でした。どうすればこれを達成できますか?必要な数のセットへのポインターを持つベクトルを探すことはできますか?どうすればこれを達成できますか?他に方法はありますか?

誰かが私にそれのスニペットをくれますか?

4

2 に答える 2

9
vector<set<int> > my_sets;

i 番目のセットに要素を追加する:

int number;
//...
my_sets[i].insert(number);

i 番目のセットの要素を検索する:

if(my_sets[i].find(number) != my_sets[i].end())
{
      // Number found
}

i 番目のセットを反復します。

for(set<int> :: iterator it = my_sets[i].begin(); it != my_sets[i].end();++it)
{
   // do something with integer value *it
}

新しいセットを追加します。

set<int> temp;
temp.insert(a);temp.insert(b);//...
my_sets.push_back(temp);

i 番目のセットを消去します。

my_sets.erase(my_sets.begin() + i );
于 2012-07-05T07:26:50.067 に答える
2

セットのベクトルは単純にstd::vector<std::set<type>>です。他に何かお探しですか?

于 2012-07-05T07:07:22.567 に答える