有没有一种简单且运行时高效的方法,可以将 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)
,而且我经常需要执行它。那么有没有更好的方法呢?