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

17 lines
399 B
Text

FUNCTION binary_search ( array() AS Integer, value AS Integer, lo AS Integer, hi AS Integer) AS Integer
DIM middle AS Integer
WHILE lo <= hi
middle = (hi + lo) / 2
SELECT CASE value
CASE IS < array(middle)
hi = middle - 1
CASE IS > array(middle)
lo = middle + 1
CASE ELSE
binary_search = middle
EXIT FUNCTION
END SELECT
WEND
binary_search = 0
END FUNCTION