Мне нужно отсортировать элементы в std::vector
, но я заинтересован только в верхних N
элементов сортируется, а не весь список:Использование станд :: сортировать, чтобы найти топ-N элементов в станд :: вектор
Например в списке из 10 элементов нужно сортировать только первые 3. Не заботиться об остальном ...
1,2,3, 6,7,4,9,8,5
Может ли это быть сделано с помощью std::sort
?
Редактировать
Я просто нужно найти верхние N
элементы в векторе. std::partial_sort_copy
было точно, что мне нужно.
Это расплывчатый вопрос - вы хотите только первые три пункта для сортировки? Или иметь три самых маленьких элемента всего списка, отсортированных в начале? – 2010-12-08 19:23:47
Да;) ... Это может! – Incubbus 2010-12-08 19:24:13
Возможно, вы хотели бы взглянуть на это: http://stackoverflow.com/questions/217073/partial-sort-of-stdlist – Pacane 2010-12-08 19:24:14