使用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判断屏幕分辨率的代码
Jul 16 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
Mar 14 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
微信小程序switch开关选择器使用详解
Jan 31 Javascript
基于layui数据表格以及传数据的方式
Aug 19 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
Nov 30 Javascript
vue-cli3+typescript初体验小结
Feb 28 Javascript
webpack4 从零学习常用配置(小结)
May 28 Javascript
微信小程序页面渲染实现方法
Nov 06 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
浅谈php自定义错误日志
2015/02/13 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
js异步加载的三种解决方案
2013/03/04 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
Python模拟登录12306的方法
2014/12/30 Python
Python实现LRU算法的2种方法
2015/06/24 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
浅谈python数据类型及类型转换
2017/12/18 Python
Django压缩静态文件的实现方法详析
2018/08/26 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
幼儿园开学寄语
2014/04/03 职场文书
交警失职检讨书
2015/01/26 职场文书