[ create a new paste ] login | about

Link: http://codepad.org/oStJVHqi    [ raw code | output | fork ]

kabhwan - Ruby, pasted on Apr 7:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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)


Output:
1
2
3
4
1
3
-1
-1


Create a new paste based on this one


Comments: