javascript实现二分查找法的代码

发布时间:2020-07-26编辑:脚本学堂
用js代码实现二分查找法,正在研究javascript的朋友,可以参考下。学编程,重在算法的研究,希望本文对大家有所帮助。

代码如下:

<html>
<head>
<title>二分查找法_www.jb200.com</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript">
    //window.alert(Math.floor(5.7)); //向下取整 输出5
    //二分查找法 数组必须是有序的
    function binarySeach(arr,findval,leftIndex,rightIndex){
       //找到中间的值
       var midIndex=Math.floor((leftIndex+rightIndex)/2);
       var midval=arr[midIndex];
        
        //防止无穷递归
        if(leftIndex>rightIndex){            
            //说明找不到
            document.writeln("找不到");
            return ;
        }

        //进行查找
        if(midval>findval){            
            //在左边找
            binarySeach(arr,findval,leftIndex,midIndex-1);
        }else if(midval<findval){
            //说明往右边找
            binarySeach(arr,findval,midIndex+1,rightIndex);
        }else{
            //找到了 输出或者返回
            document.writeln("找到了,下标为:"+midIndex);
            return ;
        }
    }
    var arr=[1,3,12,21,24,44,54,67];
    binarySeach(arr,67,0,arr.length-1);
</script>
</head>
<body>
脚本学堂_www.jb200.com,欢迎大家的光临。
</body>
</html>