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

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];
]