Подскажите пожалуйста, есть ли возможность средствами STL отсортировать вектор в новый вектор?
Что-то типа
std::vector
Просто не хочется писать следующий код:
std::vector
А то начинает страдать чувство прекрасного от лишнего присваивания :)
P.S. исправил ошибку в параметрах sort
Ответ
Вы не только можете копировать в другой контейнер все содержимое первого вектора в отсортированном виде, но и любую отсортированную партию:
std::vector
теперь data2 содержит элементы со значением из data1 в отсортированном порядке, а data1 не изменил свое состояние.
//data1: 84 44 12 23 34 8 7 4
//data2: 4 7 8 12 23 34 44 84
Например, мы хотим копировать половину отсортированной последовательности, по критерию, отличную от std::less
std::partial_sort_copy(f1, s1, f2, f2 + std::distance(f2,s2)/2,
std::greater
Комментариев нет:
Отправить комментарий