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 相关文章推荐
javascript事件模型代码
Jul 01 Javascript
Javascript 键盘keyCode键码值表
Dec 24 Javascript
javascript之typeof、instanceof操作符使用探讨
May 19 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
jQuery遍历json的方法分析
Apr 16 Javascript
jQuery 跨域访问解决原理案例详解
Jul 09 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
js date 格式化
Feb 15 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 Javascript
vue-property-decorator用法详解
Dec 12 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 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 的 __FILE__ 常量
2007/01/15 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
从0开始学Vue
2016/10/27 Javascript
原生js二级联动效果
2017/06/20 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
Python sys.path详细介绍
2013/10/17 Python
python对json的相关操作实例详解
2017/01/04 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
Django CBV类的用法详解
2019/07/26 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
廉洁自律承诺书2015
2015/01/22 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python