ホームに戻る
独自の構造体
// c が大きい順、b が大きい順、a が大きい順でソートできる
// operator を消さないこと。
struct Data{
int a;
int b;
int c;
Data(int a, int b, int c):a(a), b(b), c(c){};
Data& operator =(const Data &p){
a = p.a;
b = p.b;
c = p.c;
return (*this);
};
bool operator <(const Data &p) const {
return ((c > p.c)
|| (c == p.c && b > p.b)
|| (b == p.b && a > p.a));
}
};
Data md(int a, int b, int c){
return (Data(a, b, c));
}
// 使用例
Data d1(3,2,1);
Data d2 = Data(1,2,3);
vector v;
v.pb(d1);
v.pb(d2);
v.pb(md(3,1,2));
sort(all(v));