要望その2の話。時間のカウントにはSTLのmapを使ってるらしいのですが、Perlみたいに簡単にvalueでソートできないみたい。仕方ないのでテンプレートを作る。
template <class T1, class T2> void map_values_sort(std::vector< T2 > &v, std::map< T1, T2 > &m){ v.clear(); for(typename std::map<T1, T2>::iterator p=m.begin(); p!=m.end(); p++){ v.push_back(p->second); } std::sort(v.begin(), v.end(), std::greater<T2>()); }
もっとスマートに行きそうなんだけどなあ・・・。C++は難しい。std::map