10 lines
246 B
Text
10 lines
246 B
Text
BinarySearch[x_List, val_] := Module[{lo = 1, hi = Length@x, mid},
|
|
While[lo <= hi,
|
|
mid = lo + Round@((hi - lo)/2);
|
|
Which[x[[mid]] > val, hi = mid - 1,
|
|
x[[mid]] < val, lo = mid + 1,
|
|
True, Return[mid]
|
|
];
|
|
];
|
|
Return[-1];
|
|
]
|