# C/C++로 배우는 자료구조론 연습문제 4.18
def binary_search(array, left, right, find_num)
return -1 if left > right
mid = (left + right) / 2
if find_num == array[mid]
return mid
elsif find_num < array[mid]
return binary_search(array, left, mid - 1, find_num)
else
return binary_search(array, mid + 1, right, find_num)
end
end
puts binary_search([1,2,3,4,5], 0, 4, 2)
puts binary_search([1,2,3,4,5], 0, 4, 4)
puts binary_search([1,2,3,4,5], 0, 4, 7)
puts binary_search([1,2,3,4,5], 0, 4, 0)