关于 折半查找 while 条件 < , <=

来源:互联网 发布:两军交战不斩来使知乎 编辑:程序博客网 时间:2024/06/05 09:03

int bin_search(int a[],int len,int key)

{

    int low=0;

int high=len-1;

while(low<=high) //若为low<high; e.g.1,2,3,4,5 如果search 5 ,最终 low==high=4(指的是下标,从0开始。而循环

//体 不执行。

{

 int mid=low+(high-low)/2;

if(a[mid]==key) return mid;

else

if(a[mid]<key)

low=mid+1;

else

high=mid-1;

}

if(low>high) 

return -1;

}


0 0