有没有一种方法可以在 C++17 的 O(1) 复杂度中将多个 n 元素添加到向量末尾

问题描述 投票:0回答:0

我尝试开发一种算法,有时我应该将一个向量的多个元素添加到另一个向量的末尾。有没有办法在恒定时间内进行此操作?

另外,是否有其他数据结构(例如数组和迭代器)可以做到这一点。我不限于使用矢量。

//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] );
}
}
c++ data-structures stdvector push-back
© www.soinside.com 2019 - 2024. All rights reserved.