js基本语法--查找(二分查找)
2016-04-21 20:25
585 查看
思路:
找到数组的中间数midVal,和你要查找的数(findVal)进行比较,如果midVal > findVal,说明要查找的数(findVal)在数组的左边,就把该数组二分(即只在左边查找)反之,如果midVal < findVal,说明要查找的数在右边。
代码:
<script> var arr=[1,4,6,8,9,90,800]; function binarySearch(arr,findVal,leftIndex,rightIndex){ //防止无穷递归 if (leftIndex>rightIndex){ //提示找不到 document.writeln('找不到'); return; } //找到中间这个值 var midIndex=Math.floor((leftIndex+rightIndex)/2); //floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。 var midVal=arr[midIndex]; //比较 if (midVal>findVal){ //在左边找 binarySearch(arr,findVal,leftIndex,midIndex-1); }else if(midVal<findVal){ //在右边找 binarySearch(arr,findVal,midIndex+1,rightIndex); }else{ document.writeln('找到 下标为'+midIndex); } } //测试 binarySearch(arr,4,0,arr.length-1); </script>
相关文章推荐
- 避免IE执行AJAX时,返回JSON出现下载文件
- javascript Prototype constructor的理解(一)
- JavaScript 浏览器对象
- Angular JS 基础
- JavaScript异步实现
- js基本语法--排序,冒泡排序法
- 在jsp页面里动态生成EL表达式的key
- 面向对象的 JavaScript 编程:dojo.declare 详解
- 支持地址栏传值。侧边导航栏html+JS
- JS 获取网页的宽高
- javascript判断文件大小
- JSP
- CommonJS和AMD规范
- javascript、JavaWeb、URL的区别联系
- js操作cookie
- js 设置 读取cookie
- javascript入门篇之函数
- Json
- javascript入门篇之基础语法
- js二维数组案例,以及矩阵转置