JS 二分查找

二分查找,前提是必须是排好序的一组数!

var arr=[3,8,35,36,223,788,999,1000,8333];
var value=window.prompt('请输入您要查找的数');
value=parseInt(value);
bird(arr,value,0,arr.length-1);
function bird(arr,value,left,right)
{
window.alert(left);

if (left>right)
{
window.alert('您要查找的数不存在');
return;//必须要有,这样运行到此句时,后边的语句就不会执 //行了,如果没有此句,则查找一个不存在的数时死递 //归了
}
middle=parseInt((left+right)/2);

document.write(middle+'<br/>');

if(value>arr[middle])
{
bird(arr,value,middle+1,right);
}else if (value<arr[middle])
{
bird(arr,value,left,middle-1);
}else
{
window.alert('您要查找的数已经找到,下标为'+middle);
}

window.alert('return,不会到此句');
}

原文地址:https://www.cnblogs.com/MR-Guo/p/3287694.html