RosettaCodeData/Task/Binary_search/Lua/binary_search-2.lua

10 lines
303 B
Lua

function binarySearch (list, value)
local function search(low, high)
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