集合向量在C++中

Aak*_*nuj 5 c++ set

可能重复:
如何在C++中使用集合向量?

我想为我的代码中的不同级别设置一个集合.每个级别的集合将保持整数值.这些集合的数量应该是动态的,具体取决于所需的级别数量(作为输入给出).

为此,我希望有一个动态集结构.我怎样才能做到这一点?我可以根据需要使用尽可能多的指针来找到一个向量吗?我该如何实现这一目标?还有其他方法吗?

有人可以给我一个片段吗?

dpe*_*tek 9

vector<set<int> > my_sets;
Run Code Online (Sandbox Code Playgroud)

向第i组添加元素:

int number;
//...
my_sets[i].insert(number);
Run Code Online (Sandbox Code Playgroud)

搜索第i组中的元素:

if(my_sets[i].find(number) != my_sets[i].end())
{
      // Number found
}
Run Code Online (Sandbox Code Playgroud)

迭代第i集:

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

添加新集:

set<int> temp;
temp.insert(a);temp.insert(b);//...
my_sets.push_back(temp);
Run Code Online (Sandbox Code Playgroud)

删除第i集:

my_sets.erase(my_sets.begin() + i );
Run Code Online (Sandbox Code Playgroud)