値が特定の間隔内にあるベクトル (または別の stl コンテナー) からアイテムを削除する便利な方法はありますか?
たとえば、浮動小数点値を持つベクトルを取得しました
1.1 1.3 2.2 3.2 4.1 5.2 5.1 1.1 8.0 2.1
および 0.2 のデルタ。これにより、次の結果が得られます。
1.1 2.2 3.2 4.1 5.1 8.0
したがって、デルタ内のすべての「重複」項目を削除し、範囲内の値の 1 つを保持します。値が「クラスター化」されており、これらの差が 3*delta を超えていると見なすことができます。クラスターの 1 つの値 (平均値) のみを保持し、クラスターから他のすべての値を削除する必要があります。
確かに、ネストされたループで反復することは可能ですが、反復子が変化するため、これは非常に複雑に思えます。そのため、より便利な方法を考えました。たとえば remove_if を見つけましたが、この関数は「比較」できません。
提案をありがとう。