二分法和二分检索,还有拆班查找各自之间有什么区别和联系啊?有谁有二分检索的递归算法啊?
来源:百度知道 编辑: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