码迷,mamicode.com
首页 > 编程语言 > 详细

二分查找算法的 JavaScript 实现

时间:2017-08-27 22:24:37      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:return   javascrip   位置   查找   div   指定   math   function   arc   

二分查找在查找【指定值】在【有序】数据中的【位置】时是一种高效的算法。

以下仅提供 ES5 版本。

var arr = [0, 2, 4, 27, 28, 54, 67, 74, 75, 79, 86, 97, 289, 290, 678]

function binarySearch(arr, val) {
    var start = 0, end = arr.length - 1;
    while (start <= end) {
        var mid = Math.floor((start + end) / 2);
        if (arr[mid] > val) {
            end = mid - 1;
        } else if (arr[mid] < val) {
            start = mid + 1;
        } else {
            return mid;
        }
    }
}

console.log(binarySearch(arr, 75)); // 8

 

the end


 

二分查找算法的 JavaScript 实现

标签:return   javascrip   位置   查找   div   指定   math   function   arc   

原文地址:http://www.cnblogs.com/yungtsan/p/7440849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!