をPRIORITY_QUEUEソートを行い、私はこのようないくつかの構造体を持っているとしましょう:それは最大ソート最小
priority_queue<point> Q;
:
struct point{
int x, y;
//constructor
};
その後、私の比較方法:
bool operator < (point a, point b){
if(a.x < b.x) return true;
if(a.x == b.x) return a.y < b.y;
return false;
}
私が作成ベース(最上位の要素はxが最も大きいものなど)。
どうすれば比較方法を変えずに並べ替えることができますか?
bool operator < (point a, point b){
bool b;
if(a.x < b.x) b = true;
else if(a.x == b.x) b = a.y < b.y;
else b = false;
return !b;
}
をしかし、私が探していることがあるように私は理解する(COS)が優れているの比較を維持し、ちょうどこのように、PRIORITY_QUEUEコンストラクタを変更です(もちろん、私はこのような何かを行うことができます:それは一点が他よりも小さいかどうかを確認することは理にかなっている場合、あなたが、あなたの構造体のためのoperator>
を作るべき