ACM---------二分法应用

二分法

二分法查找又称为折半法查找,如果利用二分法查找一个数据,则要求对应的集合的元素要排好序

给出二分查找的递归算法:


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;

}


你可能感兴趣的:(ACM)