我尝试开发一种算法,有时我应该将一个向量的多个元素添加到另一个向量的末尾。有没有办法在恒定时间内进行此操作?
另外,是否有其他数据结构(例如数组和迭代器)可以做到这一点。我不限于使用矢量。
//O(n) 复杂度
void add_to_vec( const std::vector<int>& src, std::vector<int & dest, int start, int n ) { for( int i = 0; i < n; i++ ) { dest.push_back( src[start + i] ); } }