是否有一种简单且运行时有效的方法可以在 c++ 中获取 std::vector<> 并将其分成两半成其他两个向量?
因为现在我正在这样做:
std::vector<> v1, v2;
for(int i = 0; i < vector.size(); i++)
{
if(i < vector.size()/2) v1.push_back(vector[i]);
else v2.push_back(vector[i]);
}
它在 O(n) 时间内运行,这是我必须经常执行的操作。那么有没有更好的方法呢?