js实现的二分查找算法实例
作者:bea
本文实例讲述了js实现的二分查找算法。分享给大家供大家参考,具体如下: <!DOCTYPE html><html> <head> <title>demo</title> <style type="text/css"> </style> <script type="text/javascript"> var binarySearch = fu
本文实例讲述了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程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 基于JS实现新闻列表无缝向上滚动实例代码
- jQuery validate插件实现ajax验证重复的2种方法
- jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
- 如何利用JS通过身份证号获取当事人的生日、年龄、性别
- jQuery解析json格式数据简单实例
- 基于javascript实现根据身份证号码识别性别和年龄
- 基于jQuery仿淘宝产品图片放大镜特效
- jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
- jQuery validate插件submitHandler提交导致死循环解决方法
- jQuery prototype冲突的2种解决方法(附demo示例下载)
- jquery mobile开发常见问题分析
- json格式数据的添加,删除及排序方法
- jquery及js实现动态加载js文件的方法
- js console.log打印对像与数组用法详解
- JS遍历数组及打印数组实例分析
- js采用concat和sort将N个数组拼接起来的方法
- 如何用angularjs制作一个完整的表格
- angularjs自定义ng-model标签的属性
- angularjs在ng-repeat中使用ng-model遇到的问题