In [116]:
def search(A, p, q, v):
if p == q:
return -1
mid = (p + q)//2
if A[mid] == v:
return mid
elif A[mid] > v:
return search(A, p, mid, v)
return search(A, mid + 1, q, v)
In [119]:
import random
for i in range(10):
A, v, index = list(range(-10000, 10000)), random.randrange(-15000, 15000), -1
print("Looking for v=", v)
index = search(A, 0, len(A), v)
if index == -1:
print ("Not found")
else:
print("Found at index=", index, "value=", A[index])
print ()
In [ ]: