我想在C++
这样来实现insert
:C++如何插入python?
// python code
insertIndexes = [1, 1, 2, 2, 3, 3, 5]
arr = []
toInsertValue = 0;
for i in insertIndexes:
arr.insert(i, toInsertValue)
toInsertValue += 1
print arr // [0, 1, 3, 5, 4, 6, 2]
但我发现,我必须知道向量的大小,如果我想在C++
使用插入:
// !!C++ wrong code!!
// vec is not initialized correctly
vector<int> vec;
int insertIndexes[] = {1, 1, 2, 2, 3, 3, 5}
int toInsertValue = 0;
for (int i = 0; i < sizeof(insertIndexes)/sizeof(insertIndexes[0]); i++) {
vec.insert(vec.begin() + insertIndexes[i], toInsertValue);
toInsertValue += 1;
}
'诠释索引= {1,1,2,2 ,3,3,5}'?那......这个代码是不合格的。 – WhiZTiM
如果你有一个数组,你可以使用['std :: begin'](http://en.cppreference.com/w/cpp/iterator/begin)和['std :: end'](http:// en.cppreference.com/w/cpp/iterator/end)获取数组的迭代器,并使用[基于范围的'for'循环](http://en.cppreference.com/w/cpp/language/范围)或几乎任何[标准算法函数](http://en.cppreference.com/w/cpp/algorithm)期望由一对迭代器定义的范围。 –
你的产量和预期产量是多少? –