C语言:折半查找递归算法
代码
int BinSearch_Cur(SqList L, KeyType key, int low, int high)
{
if(low > high)
return 0; //查找不到时返回 0;
if(low <= high)
{
mid = (low+high)/2;
if(L.elem[mid] == key)
return mid;
else if(key < L.elem[mid])
return BinSearch_Cur(L, key, low, mid-1); //对左子表递归查找
else
return BinSearch_Cur(L, key, mid+1, high); //对右子表递归查找
}
}