私は多くを検索しましたが、私が望む答えは見つけられませんでした。キーと値に基づいたC++マップのカスタム比較メソッド
キーと値に基づいてC++マップをソートする必要があります。この方法のように 何か:
bool mycomp(mii::iterator a, mii::iterator b) {
if (a->second > b->second)
return true;
else if (a->second < b->second)
return false;
else
return a->first > a->second;
}
、それにメートルであることを
sort(m.begin() , m.end(), mycomp);
のようなものを使用します。
map<int,int> m;
私はそのようなことを行うことができますか?はいの場合は、正しい構文でなければなりません。
マップはシーケンスではないのでマップをソートすることはできません。 –
@KerrekSBこれは間違っています。 '' '' std :: map''''の内容はデフォルトで '' '' '' std :: less '' ''でソートされますが、カスタムコンパイラを提供することができます。 –
mascoj