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 相关文章推荐
jQuery的live()方法对hover事件的处理示例
Feb 27 Javascript
JQuery记住用户名和密码的具体实现
Apr 04 Javascript
简单的js图片轮换代码(js图片轮播)
May 06 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
Jun 30 Javascript
JavaScript基础函数整理汇总
Jan 30 Javascript
Js数组排序函数sort()介绍
Jun 08 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 Javascript
jQuery常见的选择器及用法介绍
Dec 20 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
Oct 24 Javascript
OpenLayer学习之自定义测量控件
Sep 28 Javascript
ant design vue导航菜单与路由配置操作
Oct 28 Javascript
Nest.js散列与加密实例详解
Feb 24 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
PHP在Web开发领域的优势
2006/10/09 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
php微信开发之谷歌测距
2018/06/14 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
台湾良兴购物网:EcLife
2019/12/01 全球购物
什么是View State?
2013/01/27 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
电钳专业个人求职信
2014/01/04 职场文书
家长给幼儿园的表扬信
2014/01/09 职场文书
中秋晚会策划方案
2014/06/12 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle
MySQL数据管理操作示例讲解
2022/12/24 MySQL