2016-06-22 15:23:42 -07:00
|
|
|
def binary_search(search_list, value):
|
|
|
|
|
low = 0
|
|
|
|
|
high = len(search_list) - 1
|
|
|
|
|
while low <= high:
|
|
|
|
|
middle = (low + high) // 2
|
|
|
|
|
if search_list[middle] > value:
|
|
|
|
|
high = middle - 1
|
|
|
|
|
elif search_list[middle] < value:
|
|
|
|
|
low = middle + 1
|
|
|
|
|
else:
|
|
|
|
|
return middle
|
2016-09-07 21:33:20 -07:00
|
|
|
raise ValueError("Value not found.")
|