我试图通过尝试访问2D向量中的先前元素来迭代生成功率集。
void sets(int a[] , int s )
{
int s_size = (2,s);
vector<vector<int> > vecs(s_size ,vector<int>(s*10));
//v.reserve(s_size);
vecs[0][0] =-1 ;
vecs[0].shrink_to_fit();
int slot_no =1;
for(int mainIterator = 0 ; mainIterator < s ;
mainIterator ++)
{
int current =slot_no ;
for( int prevslot= 0 ; prevslot <current ;
prevslot++ )
{
int slot_traverse = 0 ;
while(true)
{
if(vecs[prevslot][slot_traverse]==-1) break;
vecs[slot_no].push_back(vecs[prevslot]
[slot_traverse]);
slot_traverse++;
}
vecs[slot_no].push_back(a[mainIterator]);
slot_traverse++;
vecs[slot_no].push_back(-1) ;
vecs[slot_no].shrink_to_fit();
slot_no++;
}
}
vecs.shrink_to_fit();
}
但是,由于某些原因,程序崩溃了。
-1表示特定插槽行的结尾: