Re[3]: std::sort и приближенный предикат
От: T4r4sB Россия  
Дата: 28.01.16 12:25
Оценка:
Здравствуйте, Went, Вы писали:

W>Здравствуйте, T4r4sB, Вы писали:

TB>>Я за огород.
W>Да, я тоже продумал этот вариант. Создаем параллельный массив из пар {результат функции, итератор в исходном массиве}, сортируем его, но потом нам все равно нужно отсортировать исходный массив. Как это сделать, при том, что контейнер — вектор? Точнее, как это сделать хорошо?

Ну да, всё верно, если в векторе жирные данные, то лучше сортировать указатели (или индексы), а не сами элементы.
А дальше надо выполнить перестановку. Это делается за ЭН свапов. У тебя в этом вопрос?

Ну надо подумать... Например найди обратную перестановку (тоже о от эн). Потом начни "править" обратную, ну типа если видишь на 1м месте число 5, то меняй 1й и 5й (обновременно меняя и те же элементы из вектора).
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.