下面是一段用python实现的二分法查找代码
#encoding=utf-8
import sys
def search2(a,m):
low = 0
high = len(a) - 1
while low<=high:
mid = (low + high)/2
midval = a[mid]
if midval<m:
low = mid + 1
elif midval>m:
high = mid-1
else:
print mid
return mid
print -1
return -1
if __name__ == "__main__":
a = [int(i) for i in list(sys.argv[1])]
m = int(sys.argv[2])
search2(a,m)
运行测试结果:
shao@ubuntu:~/tmp$ python test_search2.py 123456789 4
3
更多python二分法查找。