一、递归版本
int binarySearchRecusion(int* array,int len,int value){
if(len==0)
return -1;
int mid=(len-1)/2;
if(array[mid]==value)
return mid;
if(array[mid]>value)
binarySearchRecusion(array+mid+1,len-mid-1,value);
else
binarySearchRecusion(array,mid,value);
}
二、非递归版本
int binarySearch(int* array,int len,int value){
int mid=0;
int low=0;
int high=len-1;
while(low<=high){
mid=(low+high)/2;
if(array[mid]>value){
low=mid+1;
continue;
}
else if(array[mid]<value){
high=mid-1;
continue;
}else
return mid;
}
return -1;
}