var arr = [-34, 1, 3, 4, 5, 8, 34, 45, 65, 87]; //递归方式
function binarySearch(data,dest,start,end ){
var end=end || data.length-1;
var start=start || 0;
m=Math.floor((end+start)/2);
if(data[m]==dest){
return m;
}
if(dest<data[m]){
return binarySearch(data,dest,0,m-1); }else{
return binarySearch(data,dest,m+1,end);
}
return false;
}
var result=binarySearch(arr,4);
console.log(result); //非递归方式
function binarySearch2(data,dest){
var h = data.length - 1,
j = 0;
while (j <= h){
var m=Math.floor((h+j)/2);
if(data[m]==dest){
return m;
}
if(dest>data[m]){
j=m+1;
}else{
h=m-1;
}
}
return false;
}
console.log(binarySearch2(arr,8));

最新文章

  1. [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
  2. chgrp 简明笔记
  3. Block 传值
  4. jboss eap6出现Tags_$$_javassist_26 cannot be cast to javassist.util.proxy.ProxyObject的解决办法
  5. openSource clouds
  6. 更换centos源
  7. hdu 2817 A sequence of numbers(快速幂)
  8. 21副GIF动图让你了解各种数学概念(转。太强大了)
  9. Linux下安装McAfee防病毒软件(企业版本)
  10. 201521123107 《Java程序设计》第9周学习总结
  11. postgis 随笔
  12. Python:从入门到实践--第八章-函数-练习
  13. 取MySQL结果集的第一条记录
  14. C 语言实现基于 Linux 的端口扫描程序
  15. .NET基础之this关键字
  16. BIM轻量化助力建筑业迈向BIM+时代
  17. Python int 中 add abs 方法
  18. “数学口袋精灵”第二个Sprint计划(第三天)
  19. 转 分享我在阿里工作十年接触过Java框架设计模式
  20. js 从基础入门 到放弃 001

热门文章

  1. pg_dump
  2. c#链接redis用户名密码
  3. Java8 Date API
  4. $CF24D\ Broken Robot\ DP+$高斯消元
  5. 2020了你还不会Java8新特性?(五)收集器比较器用法详解及源码剖析
  6. Win10该文件没有与之关联的应用来执行该操作...请在&quot;默认应用设置&quot;页面中创建关联
  7. html1,初识html
  8. Ant Design Pro路由传值
  9. Hyperledger Fabric1.4 安装
  10. IDEA 2019.2及以下版本永久激活教程(亲测可用)