2014-12-27 198 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