下面是一段用Python实现的二分法查找代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #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)
|
登录后复制
运行测试结果:
1 2 | shao@ubuntu:~/tmp$ python test_search2.py 123456789 4
3
|
登录后复制
更多python二分法查找相关文章请关注PHP中文网!