如何以指数方式插入元素的值c ++

时间:2016-01-06 21:19:56

标签: c++ arrays vector

我试图将一个元素插入到自身的向量中,向量在for循环中增加pow(4,i)的速率,假设我们有向量[] = {1,2,3,4我如何在其自身中插入vector [0]的值,因此在3次迭代后它看起来像这样。

第二次迭代 [1,X,X,x]中

第三次迭代 [1,X,X,X,1,X,X,X,1,X,X,X,1,X,X,X]

依旧等等

我试过了

            for(i=0; i<numAttacks; i++){
                    weightGen[i] = weightGen[i];
                    weightGen[i+numAttacks] = weightGen[i];    
            }

numAttacks是增长率

由于

1 个答案:

答案 0 :(得分:1)

这是我的解决方案:

int size;
for(i=0; i<numAttacks; i++)
{
    size = weightGen.size();
    for (int j = 0; j < size * 3; j++)
        weightGen.push_back(weightGen[j % size]);
}

这会以指数方式增加数组的大小,一遍又一遍地重复它。