C++ STLを使用した降順ソート方法


  1. sort()関数を使用する方法: sort()関数は、C++のSTLに含まれるソート関数です。通常は昇順でソートされますが、降順にソートするには、比較関数を指定する必要があります。
#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); // compare関数を指定して降順にソート
    // ソート結果を表示
    for (int number : numbers) {
        std::cout << number << " ";
    }
    return 0;
}
  1. ラムダ式を使用する方法: C++11以降では、ラムダ式を使用して比較関数を簡単に定義することができます。
#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; // 降順にソートするために '>' 演算子を使用
    });
    // ソート結果を表示
    for (int number : numbers) {
        std::cout << number << " ";
    }
    return 0;
}

上記の方法を使用すると、C++のSTLを使って配列やコンテナを降順にソートすることができます。これらのコード例はシンプルで簡潔であり、多くの場面で役立つでしょう。