2014-12-27 167 views
2

如何在C++中创建一组集合?C++集合集合

set<char> inner1; 
set<char> inner2; 
set< set<char> > outer; 
set< set<char> >:: iterator new_it; 
set<char>::iterator it; 

for (int i = 65; i < 70; ++i) 
    inner1.insert(i); 

for (int i = 70; i < 80; ++i) 
    inner2.insert(i); 

outer.insert(inner1); 
outer.insert(inner2); 

for(new_it=outer.begin();new_it!=outer.end();new_it++) 
{ 
    for(it=*(new_it);it!=(new_it);) 
    { 

    } 
} 
+0

你试过了什么? –

+0

问题在于你的循环,它应该是'for(it = new_it-> begin(); it!= new_it-> end(); ++ it)'。 –

+0

并且,当您将该集合插入另一个时,请考虑使用'std :: move'。你目前的实施效率有点低效 –

回答

4

在内环不能分配给new_itit。这样做:

for(it = new_it->begin(); it!=new_it->end(); ++it) 
+0

谢谢..我工作:) –

+0

你能解释一下你的解决方案吗?我没有得到它。 –

+0

@SachinSingh:我的解决方案是对容器的常见迭代。它不清楚哪种方式? – Beta