算法之:二分法

来源:互联网 发布:php 数组头部添加元素 编辑:程序博客网 时间:2024/05/29 13:05

二分法网上有很多资料了,这里盗用一下算法第四版的代码.

int lo = 0;

int hi = a.length-1;

while(lo<=hi)//为什么是<=而不是<

{

int lo = 0;

int hi = a.length-1;

while(lo<=hi)

{

int mid = lo+(hi-lo)/2;

if (key<a[mid]) hi = mid-1;

else if (key>a[mid]) lo = mid+1;

else return mid;

}

}


这里要注意的是lo<=hi,如果两个数据查找没有等于要出问题。