RosettaCodeData/Task/Binary-search/Lua/binary-search-2.lua

11 lines
347 B
Lua
Raw Permalink Normal View History

2013-04-10 12:38:42 -07:00
function binarySearch (list, value)
local function search(low, high)
2015-02-20 00:35:01 -05:00
if low > high then return false end
2013-04-10 12:38:42 -07:00
local mid = math.floor((low+high)/2)
if list[mid] > value then return search(low,mid-1) end
if list[mid] < value then return search(mid+1,high) end
return mid
end
return search(1,#list)
end