int binary_search(int array[],int value,int size)
{
int low=0,high=size-1,mid;
while(low<=high)//只要高低不碰头就继续二分查找
{
mid=(low+high)/2;
if(value==array[mid])//比较是不是与中间元素相等
return mid;
else if(value > array[mid])//每查找一次,就判断一次所要查找变量所在范围,并继续二分
low=mid+1; //如果大小中间值,下限移到中间的后一个位,上限不变,往高方向二分
else
high=mid-1; //上限移到中间的前一个位,往低方向二分
}
return -1;
}
{
int low=0,high=size-1,mid;
while(low<=high)//只要高低不碰头就继续二分查找
{
mid=(low+high)/2;
if(value==array[mid])//比较是不是与中间元素相等
return mid;
else if(value > array[mid])//每查找一次,就判断一次所要查找变量所在范围,并继续二分
low=mid+1; //如果大小中间值,下限移到中间的后一个位,上限不变,往高方向二分
else
high=mid-1; //上限移到中间的前一个位,往低方向二分
}
return -1;
}