RosettaCodeData/Task/Binary-search/Julia/binary-search-1.julia

16 lines
326 B
Text
Raw Permalink Normal View History

2018-06-22 20:57:24 +00:00
function binarysearch(lst::Vector{T}, val::T) where T
2014-01-17 05:32:22 +00:00
low = 1
2018-06-22 20:57:24 +00:00
high = length(lst)
while low ≤ high
mid = (low + high) ÷ 2
if lst[mid] > val
high = mid - 1
elseif lst[mid] < val
low = mid + 1
2014-01-17 05:32:22 +00:00
else
2018-06-22 20:57:24 +00:00
return mid
2014-01-17 05:32:22 +00:00
end
end
2018-06-22 20:57:24 +00:00
return 0
2014-01-17 05:32:22 +00:00
end