本文實例講述了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程序設計有所幫助。