Сортировка списка в порядке убывания (от самого большого к самому маленькому) в C++

Чтобы отсортировать список элементов в C++ в порядке убывания (от большего к меньшему), вы можете использовать различные методы. Вот несколько часто используемых подходов:

  1. std::sort с помощью специального компаратора:

    #include <algorithm>
    #include <vector>
    bool compare(int a, int b) {
       return a > b;
    }
    int main() {
       std::vector<int> numbers = {5, 2, 8, 1, 9};
       std::sort(numbers.begin(), numbers.end(), compare);
       // numbers will now be sorted in descending order
       return 0;
    }
  2. Использование std::greater:

    #include <algorithm>
    #include <vector>
    int main() {
       std::vector<int> numbers = {5, 2, 8, 1, 9};
       std::sort(numbers.begin(), numbers.end(), std::greater<int>());
       // numbers will now be sorted in descending order
       return 0;
    }
  3. Использование лямбда-функции:

    #include <algorithm>
    #include <vector>
    int main() {
       std::vector<int> numbers = {5, 2, 8, 1, 9};
       std::sort(numbers.begin(), numbers.end(), [](int a, int b) {
           return a > b;
       });
       // numbers will now be sorted in descending order
       return 0;
    }
  4. Использование пользовательской функции сортировки:

    #include <algorithm>
    #include <vector>
    bool compare(int a, int b) {
       return a > b;
    }
    void customSort(std::vector<int>& numbers) {
       std::sort(numbers.begin(), numbers.end(), compare);
    }
    int main() {
       std::vector<int> numbers = {5, 2, 8, 1, 9};
       customSort(numbers);
       // numbers will now be sorted in descending order
       return 0;
    }