カスタム コンパレータを使用したセットの順序のカスタマイズ
C でセットを操作する場合、要素のデフォルトの順序は数値です。ただし、場合によっては、ニーズに合わせてこの順序をカスタマイズすることもできます。
たとえば、一連の整数の順序を数値ではなく辞書順に変更するには、カスタム コンパレータを定義できます。 2 つの整数を文字列として比較する関数:
bool lex_compare(const int64_t &a, const int64_t &b) { stringstream s1,s2; s1 << a; s2 << b; return s1.str() < s2.str(); }
次に、カスタムを使用するセットを作成します。 comparator:
set<int64_t, lex_compare> integer_set;
カスタム順序付けが正しく適用されていることを確認するには、コンパレータをセット コンストラクターに渡します:
integer_set.insert(1);
カスタム コンパレータを使用すると、セットの順序を調整できます。特定の要件に合わせて。この手法は、複雑な順序付け基準または非標準的な順序付け基準を持つデータ型を扱う場合に特に役立ちます。
以上がC セット内の要素の順序をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。