1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//折半查找的递归实现
int BinaryFind(int *a, const int x, const int left, const int right)
{
if(left<=right)
{
int middle = (left+right)/2;
if(x<a[middle])
return BinaryFind(a,x,left,middle-1);
else if(x>a[middle])
return BinaryFind(a,x,middle+1,right);
else
return middle;
}
return -1;
}
|