javascript中二分查找法的两种实现方式
2015-04-27 13:12
507 查看
一.利用函数的递归解决问题
//二分查找法 //封装成一个函数 <script> <!-- function search(arr,findval,leftindex,rightindex) { if(leftindex<=rightindex) { var mid_index=Math.floor((leftindex+rightindex)/2); var mid_val=arr[mid_index]; if(mid_val>findval) { search(arr,findval,leftindex,mid_index-1); }else if(mid_val<findval) { search(arr,findval,mid_index+1,rightindex); } else{ document.writeln("您要查找的值的下标是:"+mid_index); return; } } else { document.writeln("您输入有误!"); return; } } var arr=[1,3,4,5,6,7,8,9]; search(arr,4,arr.length-1,0); //--> </script>
二.利用循环解决问题
<strong><strong>//利用循环解决问题 <script> </strong><pre name="code" class="javascript"><strong> <!-- function search(arr,findval,rightindex) { var flag=true; var leftindex=0; while(leftindex<=rightindex) { var mid_index=Math.floor((leftindex+rightindex)/2); var mid_val=arr[mid_index]; if(mid_val>findval) { rightindex=mid_index-1; } else if(mid_val<findval) { leftindex=mid_index+1; } else if(mid_val=findval) { flag=false; document.writeln("您要查找的值的下标是:"+mid_index); return; } } if (flag) { document.writeln("您查找的值不存在!"); } } var arr=[1,3,4,5,6,7,8,9]; search(arr,1,arr.length-1); //--> </script></strong>
相关文章推荐
- 二分查找的两种实现方式--循环和递归
- 二分查找的两种实现方式(递归和非递归)--python实现
- java两种实现二分查找方式
- 二分查找的两种实现方式(JAVA)
- 二分查找的两种实现方式
- java实现二分查找-两种方式
- 二分查找的两种实现方式
- 算法:两种方式(递归/循环)实现二分查找
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- JavaScript实现折半查找(二分查找)
- 二分查找的两种基本方式
- 二分查找的两种实现
- Javascript 实现 二分查找
- 【原创】用迭代方式实现二分查找
- 每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?
- js 二分查找的两种实现
- javascript 两种方式实现动态雪碧图
- C++之二分查找/折半查找(非递归和递归两种方式)
- C语言经典算法(九)——递归实现二分查找的两种方法