int Bsearch(int *p,int n,int x)
{
int low,high,mid;
low=0;high=n-1;
while(low<=high){
mid=(low+high)/2;
if(x==p[mid])
break;
else if(x<p[mid])
high=mid-1;
else
low=mid+1;
}
if(low<=high)
return mid;
else
return -1;
}
自定义函数Bsearch为二分查找主程序。n为数的个数
p[mid]为数组中中间数,一开始,low为0,high为n-1,x<p[mid]则high往前移,x>p[mid]则low往后移,如此循环下去,最后p[mid]即为所要查找的数,mid即为所查找数的下标。