Hatena::Grouptopcoder

TopCoder煮ブログ

本家ブログはこっち → http://d.hatena.ne.jp/nitoyon/

2008-10-28

比較関数

| 09:43 | 比較関数 - TopCoder煮ブログ を含むブックマーク はてなブックマーク - 比較関数 - TopCoder煮ブログ

上で貼り付けたソースは

    bool operator <(const Birthday& bd) const{
        if(date < bd.date) return true;
        if(date == bd.date){
            if(occ < bd.occ) return true;
            if(occ == bd.occ){
                return f < bd.f;
            }
        }
        return false;
    }

と冗長な感じだったけど、Java 1位の人のソースを見ていて、次のようにシンプルに書けることが分かった。

    bool operator <(const Birthday& bd) const{
        if(date != bd.date) return date < bd.date;
        if(occ != bd.occ) return occ < bd.occ;
        return f < bd.f;
    }

シンプルだと分かりやすい。