У меня есть переменная std::vector<int>
в моем приложении C++
. Размер вектора определяется во время выполнения, но обычно около 1000
.
Я отсортировал этот вектор (который хорошо работает), и после сортировки я хотел бы сохранить только первые 50
элементы.
Я пробовал:
kpts.erase(kpts.begin() + 50, kpts.end());
где kpts
- мой вектор, а производительность ужасна! Предположительно из-за способа erase
.
Есть ли способ сохранить только первые 50
элементы вектора? Кажется, что это должно быть очевидно, но я не могу найти способ сделать это.