#include<stdio.h>
int BinSearch(int a[ ],int low, int high, int key)
{
if (low<=high)
{
int mid = (low+high)/2;//一分为二
if(key==a[mid])
return mid;//找到key,返回所在位置(递归结束)
else if(key<a[mid])
high=mid-1;//递归求解
else if(key>a[mid])
low=mid+1;//递归求解
}
else
return -1;//未找到返回-1
}
int main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int mark = BinSearch(a,3,0,sizeof(a)/sizeof(a[0]) - 1);//sizeof(a)/sizeof(a[0])???a???
if(mark==-1)
printf("未查找到");
else
printf("查找到,下标是:"+mark);
}