def binary_search(alist, num):
pos = None
head = 0
tail = len(alist)
while tail - head > 1:
mid = (head + tail)// 2
if num == alist[mid]:
pos = mid
break
elif num > alist[mid]:
head = mid + 1
elif num < alist[mid]:
tail = mid
else:
if alist[head] == num:
pos = head
else:
pos = -1
return pos
if __name__ == '__main__':
ll = [1,33,65,68,77,1054,666,1024]
binary_search(ll, 1)
网友评论