Подскажите как отсортировать вектор по модулю элементов?
то есть, если вектор [-1,4,7,9,-97,54,-114],то ответ [-1,4,7,9,54,-97,-114].
Я попробовал сделал отдельный вектор, в который бэкапил значения первого по модулю, считает отлично, но дело в том, что вывести нужно именно так, как в примере, а не модуль чисел. Подскажите, пожалуйста, как быть
stable_sort. А что касается<=, то, увы, вы нарушаете главный принцип строгого упорядочения. И с таким компаратором сортировка может вообще не сработать. – Harry Sep 08 '21 at 07:25sortне обеспечивает устойчивую сортировку, когда элементы с одинаковыми значениями (т.е. те — обратите внимание! — для которых ложны одновременно и сравнениеcomp(a,b), иcomp(b,a)! Скажите теперь — еслиcomp— это<=— то будет ли работать это правило проверки на равенство?...) располагаются в том же порядке, что и до сортировки. Для этого следует использовать другой алгоритм. – Harry Sep 08 '21 at 09:21sortдействует так же?... – Harry Sep 08 '21 at 10:17compдля каждой пары — это неэффективная сортировка O(N^2). Словом, посмотрите что-то из книг в этом вопросе — https://ru.stackoverflow.com/q/576507/195342 – Harry Sep 08 '21 at 10:37