二分法和二分检索,还有拆班查找各自之间有什么区别和联系啊?有谁有二分检索的递归算法啊?

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:30:07

http://zhidao.baidu.com/question/26674719.html

这个递归的二分查找是我写的,可以参考一下

/*折半查找*/
int Find_Half(_U32 arrorderQueue[],_U32 ulFindNum,_U32 ulLow,_U32 ulHigh)
{
_U32 ulmid;

/*入口参数检查*/
if(arrorderQueue==NULL)
{
return -1;
}

if(ulLow > ulHigh)
{
return -1;
}

ulmid=(ulHigh+ulLow) / 2;
if(arrorderQueue[ulmid]==ulFindNum)
{
return ulmid;
}

if(arrorderQueue[ulmid] > ulFindNum)
{
return Find_Half(arrorderQueue,ulFindNum,ulLow,ulmid-1);
}
else
{
return Find_Half(arrorderQueue,ulFindNum,ulmid+1,ulHigh);
}

}

这个函数有4个参数:arrorderQueue表示需求查找的数组,ulFindNum表示需要查找的数,ulLow表示arrorderQueue数组的最小下标也就是0