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


Posted in Javascript onApril 10, 2013
<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>
Javascript 相关文章推荐
JS定时器实例
Apr 17 Javascript
javascript实现多级联动下拉菜单的方法
Feb 06 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
vue父子组件的通信方法(实例详解)
Nov 10 Javascript
页面使用密码保护代码
Apr 10 #Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
Apr 10 #Javascript
提示$ is not defined错误分析及解决
Apr 09 #Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 #Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 #Javascript
关于JQuery($.load)事件的用法和分析
Apr 09 #Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
Apr 09 #Javascript
You might like
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python中__slots__用法实例
2015/06/04 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python正则实现计算器功能
2017/12/14 Python
分析python请求数据
2018/08/19 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
财务稽核岗位职责
2015/04/13 职场文书