题样
int Search(int *p, int n, int k,int *Count)
{
int low=0,high=n-1,mid=0;
*Count=0;
while(low<=high)
{
mid=(low+high)/2;
if(p[mid]>k)
{
high=mid-1;
*Count=*Count+1;
}
else
{
if(p[mid]==k)
{
*Count=*Count+1;
break;
}
else if(p[mid]<k)
{
low=mid+1;
*Count=*Count+1;
}
}
}
if(low<=high)
{
return mid;
}
else return -1;
}
感谢博主 反手敲代码