RosettaCodeData/Task/Binary-search/Mathematica/binary-search-1.math
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

9 lines
286 B
Text

BinarySearchRecursive[x_List, val_, lo_, hi_] :=
Module[{mid = lo + Round@((hi - lo)/2)},
If[hi < lo, Return[-1]];
Return[
Which[x[[mid]] > val, BinarySearchRecursive[x, val, lo, mid - 1],
x[[mid]] < val, BinarySearchRecursive[x, val, mid + 1, hi],
True, mid]
];
]