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(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
Javascript 中文字符串处理额外注意事项
Nov 15 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
Nov 24 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
Vue.set()实现数据动态响应的方法
Feb 07 Javascript
在vue项目中引入高德地图及其UI组件的方法
Sep 04 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 Javascript
vue实现打地鼠小游戏
Aug 21 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+Html+缓存
2006/12/20 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
学习php分页代码实例
2013/10/24 PHP
php实现zip文件解压操作
2015/11/03 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python在控制台输出进度条的方法
2015/06/20 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python 中 Meta Classes详解
2016/02/13 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
python如何将两个txt文件内容合并
2019/10/18 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
携程英文网站:Trip.com
2017/02/07 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
什么是类的返射机制
2016/02/06 面试题
生产车间班组长岗位职责
2014/01/06 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
销售员态度差检讨书
2014/10/26 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python