折半查找:数据必须有序

//数组定义
let arr1 = [1,2,3,4,5]; //用字面量定义数组
let arr2 = new Array(1,2,3,4,5); //用字面量定义数组
let arr3 = new Array(10); //定义有10个元素的数组,初值是 undefine
let arr6 = [10]; //字面量定义只有一个元素的数组,值是10
let arr4 = new Array(); //定义一个空数组
let arr5 = [] ; //定义一个空数组
 
//折半查找的源代码
折半查找的必要条件:有序
let target = 7;
let arr2 = [1,2,3,4,5,6,7,8,9];
let start = 0;
let end = arr2.length - 1;
let mid = parseInt((start + end) / 2);
while(start <= end){
    mid = parseInt((start + end) / 2);
    if(arr2[mid] < target){
        //收缩起点
        start = mid + 1;
    }else if(arr2[mid] > target){
        //收缩终点
        end = mid - 1;
    }else{
        //正好
        console.log(mid);
        break;
    }
}

最新文章

  1. js数组去重
  2. Java实现单链表的各种操作
  3. [LintCode] Longest Common Prefix 最长共同前缀
  4. Struts2学习笔记 - Action篇&lt;动态方法调用&gt;
  5. iOS7 edgesForExtendedLayout -- 解决冲突 / 系统偏移
  6. Linux Centos7下安装Python
  7. RPC、SQL、NFS属于OSI的哪一层
  8. Spark Streaming揭秘 Day7 再探Job Scheduler
  9. PAT-乙级-1034. 有理数四则运算(20)
  10. 众人拾柴火焰高之Tomcat集群
  11. python 正则表达式之零宽断言
  12. 关于IOS中使用支付功能(以支付宝为例)
  13. select2 插件加载后端数据
  14. C#日期转换(转载)
  15. 关于 TensorFlow
  16. 02: css常用属性
  17. 解决win7远程桌面连接时发生身份验证错误的方法
  18. 【Linux】数组与关联数组
  19. Hadoop Streaming
  20. C# 通过Exchange server 发送邮件

热门文章

  1. vscode安装教程(含插件配置)
  2. P23_列表渲染
  3. try...catch中finally子句的使用
  4. SpringBoot整合Mybatis、SpringBoot整合Spring Data JPA
  5. vue页面加载闪烁的问题以及解决方案
  6. Vue3中的响应式api
  7. 「SHOI2015」脑洞治疗仪
  8. 代码随想录算法训练营day14 | leetcode 层序遍历 226.翻转二叉树 101.对称二叉树 2
  9. redis(13)持久化操作-AOF
  10. day12_内部类&amp;API