使用javascipt---實(shí)現(xiàn)二分查找法
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript">
//window.alert(Math.floor(5.7)); //向下取整 輸出5
//二分查找法 數(shù)組必須是有序的
function binarySeach(arr,findval,leftIndex,rightIndex){
//找到中間的值
var midIndex=Math.floor((leftIndex+rightIndex)/2);
var midval=arr[midIndex];
//防止無窮遞歸
if(leftIndex>rightIndex){
//說明找不到
document.writeln("找不到");
return ;
}
//進(jìn)行查找
if(midval>findval){
//在左邊找
binarySeach(arr,findval,leftIndex,midIndex-1);
}else if(midval<findval){
//說明往右邊找
binarySeach(arr,findval,midIndex+1,rightIndex);
}else{
//找到了 輸出或者返回
document.writeln("找到了,下標(biāo)為:"+midIndex);
return ;
}
}
var arr=[1,3,12,21,24,44,54,67];
binarySeach(arr,67,0,arr.length-1);
</script>
</head>
<body></body>
</html>
相關(guān)文章
JavaScript基礎(chǔ)心法 數(shù)據(jù)類型
一個(gè)很基礎(chǔ)的知識(shí)點(diǎn),這篇主要是介紹JavaScript中基本數(shù)據(jù)類型和引用數(shù)據(jù)類型是如何存儲(chǔ)的,需要的朋友可以參考下2018-03-03
nodejs的require模塊(文件模塊/核心模塊)及路徑介紹
在nodejs中,模塊大概可以分為核心模塊和文件模塊,核心模塊是被編譯成二進(jìn)制代碼,引用的時(shí)候只需require表示符即可,文件模塊,則是指js文件、json文件或者是.node文件2013-01-01
javascript中call()、apply()的區(qū)別
這篇文章主要介紹了javascript中call()、apply()的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
淺談JavaScript中的Math.atan()方法的使用
《javascript少兒編程》location術(shù)語總結(jié)

