我有一个排序数组double。目标是在数组中查找索引。其中包含 <= 搜索值的值。
例如,数组包含{0, 5, 12, 34, 100}
索引范围为 [0 .. 4] 的数字。
搜索值 = 25。我想得到 index=2 (出现范围在 12 到 34 之间)
我不明白在这种情况下如何运行二进制搜索。
public class MyComparer : IComparer<double>
{
public int Compare(double x, double y)
{
//<-------- ???
}
}
public double[] spline_x;
MyComparer cmpc = new MyComparer();
int i=Array.BinarySearch(spline_x, x, cmpc);