使用C ++迭代生成电源集

时间:2018-07-31 16:26:34

标签: c++ iteration subset

我试图通过尝试访问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表示特定插槽行的结尾:

A horrendous attempt to convey the message

0 个答案:

没有答案