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 相关文章推荐
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
jquery插件validate验证的小例子
May 08 Javascript
JavaScript中的数值范围介绍
Dec 29 Javascript
Jquery实现鼠标移动放大图片功能实例
Mar 25 Javascript
深入浅析Extjs中store分组功能的使用方法
Apr 20 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
Jun 08 Javascript
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
Sep 03 Javascript
js实现每日签到功能
Nov 29 Javascript
vue如何获取自定义元素属性参数值的方法
May 14 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的FTP学习(四)
2006/10/09 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
php实现三级级联下拉框
2016/04/17 PHP
PHP xpath()函数讲解
2019/02/11 PHP
php7连接MySQL实现简易查询程序的方法
2020/10/13 PHP
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
JS作用域深度解析
2016/12/29 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
Python输出各行命令详解
2018/02/01 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
python实现简单五子棋游戏
2019/06/18 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
对Pytorch神经网络初始化kaiming分布详解
2019/08/18 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
C和C++经典笔试题附答案解析
2014/08/18 面试题
医药营销专业个人自荐信
2013/09/29 职场文书
致800米运动员广播稿
2014/02/16 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
天猫活动策划方案
2014/08/21 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
Python anaconda安装库命令详解
2021/10/16 Python
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android