I\'d like to reorder the items in a vector, using another vector to specify the order:
char A[] = { \'a\', \'b\', \'c\' };
size_t ORDER[] = { 1, 0, 2 }
Your code is broken. You cannot assign to vA
and you need to use template parameters.
vector REORDER(const vector& vA, const vector& vOrder)
{
assert(vA.size() == vOrder.size());
vector vCopy(vA.size());
for(int i = 0; i < vOrder.size(); ++i)
vCopy[i] = vA[ vOrder[i] ];
return vA;
}
The above is slightly more efficient.