コンパレータによるソート


コンパレータによる並べ替え
ベクトル (配列など)  sort() 関数を使用して並べ替えることができます。ただし、この関数はデフォルトで昇順に並べ替えます。配列を別の順序で並べ替えるには、いわゆる コンパレータ を使用する必要があります。これは、2 つのオブジェクトを比較して並べ替え順序を設定する関数です。 。
 
配列の要素を昇順に並べ替えるコンパレータの例。 bool cmp(最初に int、2 番目に int) { 最初に戻る < 2番; }
作成したコンパレーターを使用してベクトル A をソートします。 sort(A.begin(), A.end(), cmp); イテレータについて考える

問題の状況によれば、安定した (安定した) ソートを適用する必要があることは明らかであるため、sort の代わりに、stable_sort を使用する必要があります。

関数オブジェクトをコンパレータとして指定することもできます。これは、sort 関数を呼び出す前に作成できます。
例:
構造体 {
        bool operator()(int a, int b) const
        {
            < b; を返す
        }
    }cmp;