В С++, данный vector<T> src, dst
, оба уже отсортированные, есть более эффективный способ слияния содержимого src
в dst
, чем
size_t n = dst.size();
dst.insert(dst.end(), src.begin(), src.end());
std::inplace_merge(dst.begin(), dst.begin() + n, dst.end());
? В случае, о котором я забочусь, T
представляет собой небольшую (12-16 байт, в зависимости от ABI) структуру POD, но каждый вектор содержит миллионы элементов, поэтому общий объем памяти в игре составляет от десятков до сотен мегабайт.