Объединить N сегментов вектора на месте C ++ - PullRequest
0 голосов
/ 24 октября 2018

У меня есть int64_t вектор, содержащий N элементов, которые разделены на k упорядоченных сегментов.например, если N = 9 и K = 3, это может выглядеть примерно так:

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

Существует ли способ объединения сегментов на месте без предварительного итеративного копирования их в массивы другого размера N / Kи объединить?

1 Ответ

0 голосов
/ 24 октября 2018

Если вы говорите о сортировке слиянием сегментов, то у вас есть std :: inplace_merge .Просто сделайте это K-1 раз с увеличением количества элементов в первом диапазоне.

...