使用javascipt---实现二分查找法
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript">
//window.alert(Math.floor(5.7)); //向下取整 输出5
//二分查找法 数组必须是有序的
function binarySeach(arr,findval,leftIndex,rightIndex){
//找到中间的值
var midIndex=Math.floor((leftIndex+rightIndex)/2);
var midval=arr[midIndex];
//防止无穷递归
if(leftIndex>rightIndex){
//说明找不到
document.writeln("找不到");
return ;
}
//进行查找
if(midval>findval){
//在左边找
binarySeach(arr,findval,leftIndex,midIndex-1);
}else if(midval<findval){
//说明往右边找
binarySeach(arr,findval,midIndex+1,rightIndex);
}else{
//找到了 输出或者返回
document.writeln("找到了,下标为:"+midIndex);
return ;
}
}
var arr=[1,3,12,21,24,44,54,67];
binarySeach(arr,67,0,arr.length-1);
</script>
</head>
<body></body>
</html>
相关文章
nodejs的require模块(文件模块/核心模块)及路径介绍
在nodejs中,模块大概可以分为核心模块和文件模块,核心模块是被编译成二进制代码,引用的时候只需require表示符即可,文件模块,则是指js文件、json文件或者是.node文件2013-01-01
浅谈JavaScript中的Math.atan()方法的使用
这篇文章主要介绍了JavaScript中的Math.atan()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下2015-06-06


最新评论