Taku Kudo
taku****@chase*****
2007年 12月 9日 (日) 15:33:05 JST
On 12/9/07, TSUCHIYA Masatoshi <tsuch****@imc*****> wrote: > >> On Sun, 9 Dec 2007 13:26:00 +0900 > >> taku****@chase***** ("Taku Kudo") said as follows: > > >コストが全く同一の場合、どの読みが使われるかは不定です。 > > >表層が同一の場合、std::sort は、クイックソートつまり、安定でないソートな > >ので、エントリの順番は不定になってしまいます。 > > なるほど了解です. > > ということは,std::sort の代わりに std::stable_sort を使えば良いのかなと > 試してみたのですが,相変わらず入れ替わってしまいます. すいません。情報が不正確でした。 vector<string, Token* > dic; sort(dic.begin(), dic.end()); としたとき、dic をソートすると、pair ::first が比較につかわれ、同一の場合は、pair::secondが使われます。 Token * なので、ポインタの値で比較することになります。 こればっかりはいかんともしがたいです。 まじめに修正するには、partial_sort にして、比較用のファンクタを 定義しなければなりません。 くどう > > 深追いするほどでもないとは思うのですが,一応気になったので,報告まで. > > -- > 土屋 雅稔 ( TSUCHIYA Masatoshi ) > > _______________________________________________ > mecab-users mailing list > mecab****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/mecab-users > > >