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 相关文章推荐
HTML中事件触发列表与解说
Jul 09 Javascript
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
javascript设置金额样式转换保留两位小数示例代码
Dec 04 Javascript
JS判断对象是否存在的10种方法总结
Dec 23 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
Sep 04 Javascript
jQuery Validate插件实现表单强大的验证功能
Dec 18 Javascript
JS 面向对象之继承---多种组合继承详解
Jul 10 Javascript
微信小程序删除处理详解
Aug 16 Javascript
javascript实现Emrips反质数枚举的示例代码
Dec 06 Javascript
React路由管理之React Router总结
May 10 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 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
php获取汉字首字母的函数
2013/11/07 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
YII实现分页的方法
2014/07/09 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
用javascript实现自定义标签
2007/05/08 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
[01:32]TI珍贵瞬间系列(一)
2020/08/26 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
简单谈谈Python中的闭包
2016/11/30 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
事假请假条范文
2014/04/11 职场文书
少先队活动总结
2014/08/29 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
颐和园的导游词
2015/01/30 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
Python竟然能剪辑视频
2021/05/25 Python
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript