将向量的 N 段合并到位C++

Merge N segments of a vector in place C++

本文关键字:合并 C++ 向量 段合并      更新时间:2023-10-16

我有一个包含 N 个元素的int64_t向量,这些元素被划分为 k 个有序段。 例如,如果 N = 9 且 K=3,则可能如下所示:

5,6,7,1,2,3,7,8,9

有没有办法将段合并到位,而无需先将它们迭代地复制到另一个 N/K 大小的数组并合并?

如果您正在谈论对段进行合并排序,那么您有 std::inplace_merge。只需在第一个范围内使用越来越多的元素进行 K-1 次。