クラスメンバーに従ってソートするマルチセットmymult
i がありm_a
ます。
次に、並べ替えられたすべての要素をチェックしたいのですがm_a
、隣のフィールドの差が、指定しmymulti
たしきい値、たとえば 0.001 より小さい場合です。もしそうなら、私は別のクラスメンバー m_b が小さい方を優先したいと思います。
マルチセットやイテレータの経験がありません。2 つの反復から反復子を比較する方法がわかりません。私がやりたいことの正しいコードを私に提供できれば、とても感謝しています! 私の試み、あまり多くはありませんが、私のコンセプトだけです:
//all before I got stuck
for(it = mymulti.begin(); it!= mymulti.end(); ++it) //or it++?
if( (it+1)->mymulti.m_a - (it)->mymulti.m_a < 0.001)
if ((it+1)->mymulti.m_b < (it)->mymulti.m_b)
//swap them. but how to swap two fields in a multiset, not two multisets?
// otherwise do nothing