使用javascipt---实现二分查找法

(编辑:jimmy 日期: 2024/10/10 浏览:2)

复制代码 代码如下:
<html>
<head>
<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></body>
</html>

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。