C++におけるsortソートのカスタムソートcmp(入門)

2860 ワード

咳咳、初めてこのようなブログを書いて、sortのカスタムソートcmp関数を紹介します:
sortとcmpの実装に必要なヘッダファイルは、次のとおりです.
#include
using namespace std;
sor()はC++標準ライブラリのソート関数で、使い勝手がよく、配列の開始アドレスと終了アドレスを入れればいいので、左閉じ右開きであることに注意し、デフォルトのソートはcmp()関数の戻り値がboolであれば、核心的な点も比較し、sortのデフォルトは小さいから大きいので、cmpでも小さいから大きいまで、abが必要です.デフォルトaはbより小さいので、このとき返されるboolはfalseであり、ソートを変更します.
もしあなたが分からないなら、いいえ、頭のいいあなたはきっと知っています.次に例を示します.
eg;
#include
using namespace std;
bool cmp(int a,int b)
{
return a>b;//      
}

もちろん、構造体を定義して並べ替えたい場合も、同じです.
eg;
#include
using namespace std;
struct node//      
{
    int a;
    int b;
    int c;
};
bool cmp(node x,node y)//  cmp    a      ,  a     b    ,  b     c     
{
    if(x.a!=y.a)
    return x.a<y.a;
    if(x.b!=y.b)
    return x.b>y.b;
    if(x.c!=y.c)
    return x.c<y.c;
}

このcmpは、まずaに従って降順に並べ替えられ、aが同じであればbが昇順に並べ替えられ、bが同じであれば最後にcが降順に並べ替えられる.簡単ではありませんが、これは低レベルのカスタムソートにすぎません.
まず例題を添付します.
http://www.fjutacm.com/Problem.jsp?pid=1214
問題:https://www.cnblogs.com/YHH520/p/12253112.htmlどういたしまして
https://www.dotcpp.com/oj/problem1568.html 
問題:https://paste.ubuntu.com/p/c8wD8BWwg2/
cmpの进级について私もあまり理解していないで、后で问题に出会ってからにしましょう、十分に使えばいいので、后で更新します!こそこそした.
文の中の問題は評論区に行って評論することができて、ニュースを受け取った後に、私は直ちに改正します!