js实现的二分查找算法实例

 更新时间:2016年01月21日 10:45:42   作者:m1870164  
这篇文章主要介绍了js实现的二分查找算法,结合实例形式较为详细的分析了JavaScript简单实现二分查找算法的运算原理与具体步骤,需要的朋友可以参考下

本文实例讲述了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遍历算法与技巧总结》及《JavaScript排序算法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • 用函数式编程技术编写优美的 JavaScript_ibm

    用函数式编程技术编写优美的 JavaScript_ibm

    函数式编程语言在学术领域已经存在相当长一段时间了,但是从历史上看,它们没有丰富的工具和库可供使用。随着 .NET 平台上的 Haskell 的出现,函数式编程变得更加流行。一些传统的编程语言,例如 C++ 和 JavaScript,引入了由函数式编程提供的一些构造和特性。在许多情况下,JavaScript 的重复代码导致了一些拙劣的编码。如果使用函数式编程,就可以避免这些问题。此外,可以利用函数式编程风格编写更加优美的回调。
    2008-05-05
  • JavaScript可视化与Echarts详细介绍

    JavaScript可视化与Echarts详细介绍

    提到数据可视化相信大家都不陌生,它能够将单一的数据通过合适的可视化图表类型表现出来,使其更加直观的展现数据的变化趋势、对比、峰值等等。其实在前端开发中,数据可视化也尤为重要,在众多图表库中,echarts就是最常见的图表库之一
    2022-07-07
  • js 采用delete实现继承示例代码

    js 采用delete实现继承示例代码

    这篇文章主要介绍了js如何采用delete实现所谓的继承,下面有个不错的示例,大家可以参考下
    2014-05-05
  • 关于JavaScript中事件绑定的方法总结

    关于JavaScript中事件绑定的方法总结

    下面小编就为大家带来一篇JavaScript中事件绑定的方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • js实现的在本地预览图片功能示例

    js实现的在本地预览图片功能示例

    这篇文章主要介绍了js实现的在本地预览图片功能,结合实例形式分析了JavaScript兼容移动web与IE浏览器的图片预览功能相关实现技巧,需要的朋友可以参考下
    2019-11-11
  • 使用getBoundingClientRect方法实现简洁的sticky组件的方法

    使用getBoundingClientRect方法实现简洁的sticky组件的方法

    本文介绍这种组件的实现思路,并提供一个同时支持将sticky元素固定在顶部或底部的具体实现,由于这种组件在网站中非常常见,所以有必要掌握它的实现方式,以便在有需要的时候基于它的思路写出功能更多的组件出来
    2016-03-03
  • javascript编写简易计算器

    javascript编写简易计算器

    这篇文章主要为大家详细介绍了javascript编写简易计算器的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 利用不到200行代码写一款属于你自己的js类库

    利用不到200行代码写一款属于你自己的js类库

    这篇文章主要给大家介绍了如何利用不到200行代码写一款属于你自己的js类库,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 用javascript删除当前行,添加行(示例代码)

    用javascript删除当前行,添加行(示例代码)

    这篇文章主要介绍了用javascript删除当前行,添加行的示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • three.js 入门案例详解

    three.js 入门案例详解

    本篇文章主要介绍了three.js 入门案例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论