js实现的二分查找算法实例


Posted in Javascript onJanuary 21, 2016

本文实例讲述了js实现的二分查找算法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
  <head>
    <title>demo</title>
    <style type="text/css">
    </style>
    <script type="text/javascript">
      var binarySearch = function(array, start, stop, num) {
        if(stop - start == 1) {
          if(array[start] == num) {
            return start;
          }
          if(array[stop] == num) {
            return stop;
          }
          return -1;
        }  
        var center = Math.floor((start + stop)/2);
        if(num != array[center]) {
          return num > array[center] ? binarySearch(array, center, stop, num) 
            : binarySearch(array, start, center, num);
        }
        return center;
      }
      var array = [1,4,6,12,15,20];
      document.writeln(binarySearch(array, 0, array.length, 2));
    </script>
  </head>
  <body>
  </body>
</html>

运行结果为:

-1

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
兼容Mozilla必须知道的知识。
Jan 09 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
Oct 12 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
javascript实现密码验证
Nov 10 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
canvas基础绘制-绚丽倒计时的实例
Sep 17 Javascript
vue-star评星组件开发实例
Mar 01 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
Vue实现按钮级权限方案
Nov 21 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 #Javascript
angularjs表格分页功能详解
Jan 21 #Javascript
使用angularjs创建简单表格
Jan 21 #Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 #Javascript
Javascript中神奇的this
Jan 20 #Javascript
javascript实现图片轮播效果
Jan 20 #Javascript
JS获取鼠标坐标位置实例分析
Jan 20 #Javascript
You might like
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
python爬取网易云音乐评论
2018/11/16 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
Python bytes string相互转换过程解析
2020/03/05 Python
anaconda3安装及jupyter环境配置全教程
2020/08/24 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
社区食品安全实施方案
2014/03/28 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
学习雷锋主题班会
2015/08/14 职场文书