二分法
二分法查找又称为折半法查找,如果利用二分法查找一个数据,则要求对应的集合的元素要排好序
给出二分查找的递归算法:
int compare(int x , int y){
if(x < y)
return -1;
if(x == y)
return 0;
return 0;
}
int Binsearch(int list[] , int searchnum , int left , int right){
int middle ;
if(left <= right){
middle = (left + right) / 2;
switch(compare(list[middle] , searchnum)){
case -1:
return Binsearch(list , seaechnum , middle+1 , right );
case 1:
return Binsearch(list , seaechnum , left , middle + 1 );
case 0:
return middle;
}
}
return -1;
}