zoukankan      html  css  js  c++  java
  • javascipt实现二分查找法

    javascipt---实现二分查找法:

    <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>
  • 相关阅读:
    17. Letter Combinations of a Phone Number
    16. 3Sum Closest
    15. 3Sum
    14. Longest Common Prefix
    13. Roman to Integer
    12. Integer to Roman
    11. Container With Most Water
    10. Regular Expression Matching
    9. Palindrome Number
    8. String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/pwm5712/p/3012034.html
Copyright © 2011-2022 走看看