Binary search: Difference between revisions

(→‎{{header|PARI/GP}}: Add a more manual approach that the task was probably expecting)
Line 2,107:
2
=={{header|Julia}}==
{{works with|Julia|0.6}}
'''Iterative''':
<lang matlab>function binary_search(l, value)
<lang julia># Iterative
function binarysearch(lst::Vector{T}, val::T) where T
low = 1
high = length(llst)
while low <= high
mid = int((low + high)/ ÷ 2)
if llst[mid] > value val
high = mid - 1
elseif llst[mid] < value val
low = mid + 1
else
return mid
end
end
return -10
end</lang>
 
'''Recursive'''
<lang matlabjulia>function binary_searchbinarysearch(llst::Vector{T}, value::T, low = 1, high =length(lst)) -1)where T
if isempty(lst) return 0 end
high == -1 && (high = length(l))
if low ≥ high
l==[] && (return -1)
if low >= high || lst[low] != &&value
((low > high || l[low] != value) ? (return -1) : return low)0
else
mid = int((low+high)/2)
l==[] && (return -1)low
l[mid] > value ? (return binary_search(l, value, low, mid-1)) :
end
l[mid] < value ? (return binary_search(l, value, mid+1, high)) :
return midend
mid = int((low + high)/ ÷ 2)
if lst[mid] > value
l[mid] > value ? ( return binary_searchbinarysearch(llst, value, low, mid-1)) :
elseif lst[mid] < value
l[mid] < value ? (return binary_searchbinarysearch(llst, value, mid+1, high)) :
else
return mid
end
end</lang>
 
Anonymous user