Здравствуйте, Went, Вы писали:
W>Здравствуйте, T4r4sB, Вы писали: TB>>Я за огород. W>Да, я тоже продумал этот вариант. Создаем параллельный массив из пар {результат функции, итератор в исходном массиве}, сортируем его, но потом нам все равно нужно отсортировать исходный массив. Как это сделать, при том, что контейнер — вектор? Точнее, как это сделать хорошо?
Ну да, всё верно, если в векторе жирные данные, то лучше сортировать указатели (или индексы), а не сами элементы.
А дальше надо выполнить перестановку. Это делается за ЭН свапов. У тебя в этом вопрос?
Ну надо подумать... Например найди обратную перестановку (тоже о от эн). Потом начни "править" обратную, ну типа если видишь на 1м месте число 5, то меняй 1й и 5й (обновременно меняя и те же элементы из вектора).
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте