您的位置:首页 > 其它

二分法查找

2009-06-23 09:30 106 查看
function binSearch(seqList, keyType)
{ //在有序表R[1..n]中进行二分查找,成功时返回结点的位置,失败时返回零
var low=0, high=seqList.length-1, mid=0; //置当前查找区间上、下界的初值
while(low<=high){ //当前查找区间R[low..high]非空
mid=parseInt((low+high)/2);
if(seqList[mid] == keyType)
return mid; //查找成功返回
if(seqList[mid] > keyType)
high = mid-1; //继续在R[low..mid-1]中查找
else
low = mid+1; //继续在R[mid+1..high]中查找
}
return -1; //当low>high时表示查找区间为空,查找失败
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: