假设数组a是一个已经排好序的整形数组,在数组a中查找一个数k,具体算法如下:
void search(int *a,int key,int low,int high)
{
int mid;
if(low>high)
return -1;
mid = low + (high-low)/2;
if(a[mid] == key)
return mid;
elseif(a[mid]>key)
return search(a,key,low,mid-1);
elseif return search(a,key,mid+1,high);
}
以上为二分法具体算法。