RosettaCodeData/Task/Binary-search/SequenceL/binary-search.sequencel

12 lines
275 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
binarySearch(A(1), value(0), low(0), high(0)) :=
let
mid := low + (high - low) / 2;
in
-1 when high < low //Not Found
else
binarySearch(A, value, low, mid - 1) when A[mid] > value
else
binarySearch(A, value, mid + 1, high) when A[mid] < value
else
mid;