私はを持っていますList<KeyValuePair<double, double>>
、リストはでソートされKeyValuePair.Key
ているので、それは二分探索に修正可能です。そして、私はdouble
オブジェクトを持っています。今、私の仕事はdouble
オブジェクトのインデックスを見つけることです。適用される条件は次のとおりです。
- その
double
オブジェクトKeyValuePair.Key
が指定された許容範囲内のいずれかに一致する場合、対応するオブジェクトKeyValuePair.Value
が返されます。 double
オブジェクトがの最大および最小範囲外にある場合はKeyValuePair.Key
、0が返されます。- オブジェクト
double
がの最大最小値内にあるKeyValuePair.Key
が、指定された許容範囲内のいずれにも一致しない場合はKeyValuePair.Key
、最も近い上限と最も近い下限の平均を取得しますKeyValuePair.Value
(で測定KeyValuePair.Key
)。
バイナリ検索の実装がC#で利用できることは知っていますが、それは私のニーズに完全には適合していません。すでに私のニーズを満たしている実装はありますか?他の人がすでに作成、デバッグ、完成したコードの作成とデバッグに数時間を費やしたくありません。