//二分查找算法的实现
public static int binarySearch(int[] arr,int search) {
int low=0;
int high=arr.length-1;
//找到中间的索引
int middleIndex=0;
while (low<high) {
middleIndex=(low+high+1)/2;
if (arr[middleIndex]==search) {
return middleIndex;
}
else if(arr[middleIndex]>search) {
high=middleIndex-1;
}
else {
low=middleIndex+1; } } return middleIndex;
}

1 调用

int[] arr=new int[] {1,2,3,4,5,6,7,8,9,10};
int index= binarySearch(arr, 8);
System.out.println("查找的值8位于数组中的索引为:"+index);

默认传入的数组是排好序的

最新文章

  1. ASP.NET Core Kestrel 中使用 HTTPS (SSL)
  2. 修改input框默认黄色背景
  3. HTML5定稿
  4. 一个App完成入门篇(一)-从Hello world开始
  5. fork()和vfork()区别
  6. 移动大数据时代最IN编程语言必读书单
  7. Ext JS学习第五天 我们所熟悉的javascript(四)
  8. Sematic库系列一
  9. 一不小心,陷入TCP的性能问题
  10. Multipath在OpenStack中的faulty device的成因及解决(part 2)
  11. 【好用的Mac分屏软件】Magnet for Mac 2.3
  12. Spring boot+mybatis+thymeleaf 实现登录注册,增删改查
  13. underscore.js源码解析【数组】
  14. Linux系统——程序员跳槽必备
  15. MongoDB随笔3:使用索引
  16. Python random模块random/uniform/randint/choice/getrandbits/shuffle/choice/sample随机函数
  17. 【 js 算法类】这么全的数组去重,你怕不怕?
  18. Spring整合JMS——事务管理
  19. PHP——上传头像(1)
  20. 洛谷 P2680 运输计划(NOIP2015提高组)(BZOJ4326)

热门文章

  1. 25 Flutter仿京东商城项目 购物车页面布局
  2. spark 入门学习 核心api
  3. 详解VMware 虚拟机中添加新硬盘的方法
  4. MGR集群搭建
  5. 123457123456#0#-----com.threeapp.XueShuXue013----儿童学数学(13种方法)
  6. OO ALV事件里使用E消息,下一步会退出到系统初始界面
  7. Lombok子类与父类的@Builder注解冲突
  8. (四)java对象的结构和对象的访问定位
  9. C# WebApi 接口传参详解
  10. UIwindow ---密码框