java—二分查找法[通俗易懂]

java—二分查找法[通俗易懂]/** * 二分查找法 * 注: 数组元素必须有顺序 * */public class sort4 { public static void main(String[] args) { int [] arr ={1,2,3,4,5,6,7,8}; int a = binarySerarch(arr,7); // 从这些数中查找7返回这个数字的索引 System….

大家好,又见面了,我是你们的朋友全栈君。

/**
 * 二分查找法
 * 注: 数组元素必须有顺序
 *
 */
public class sort4 {
	public static void main(String[] args) {
		int [] arr ={1,2,3,4,5,6,7,8};
		 int a  = binarySerarch(arr,7);  //  从这些数中查找7返回这个数字的索引
		 System.out.println(a);
	}
	private static int binarySerarch(int[] arr, int key) {
		
		int min = 0;                    //  最小的索引
		int max = arr.length - 1;	   //  最大的索引
		
		while(min<=max){
			System.err.println("最大索引" + max + "---" + "最小索引:" + min);
			int mid = (min + max)/2;  //  中间索引
			int midVal = arr[mid];     //  中间索引的值
			
			if (midVal<key) {  //  猜小了
				min = mid + 1;
			}else if(midVal>key) {
				max = mid-1;
			}else {
				return mid;
			}
		}
		return -1;
	}
}  

java---二分查找法[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147229.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vps怎么传文件_服务器搭建vps

    vps怎么传文件_服务器搭建vpsvps搭建文件服务器内容精选换一换方法一:在VSCode上选择“文件>首选项>设置”,再选择“工作区”,并在输入框搜索“kunpeng.remote.ssh.machineinfo”,单击“在settings.json中编辑”后生成settings.json文件。如图1所示。生成settings.json文件方法二:在VSCode上选择“资源管理器”,找到“.vs例如main…

    2025年8月12日
    3
  • rplidar 三角测距激光雷达原理

    rplidar 三角测距激光雷达原理买了一个rplidarA2,做工不错,挺漂亮的,更重要的是可以软件启动停止,噪声很小,而且反射检测灵敏度比较高(可以扫描到毛玻璃, 有些差的激光雷达检测不到毛玻璃上的反射)。使用之后感觉很不错。马上就有其他部门的同事过来看热闹,问这问那。于是本人热心讲解了一番。不过感觉他们还是那么萌萌的表情。在此,简单分享一下rplidarA2这种激光雷达的原理和重点技术。rplidarA2

    2022年5月8日
    45
  • 计算机快捷键任务管理器,打开电脑任务管理器快捷键是什么

    计算机快捷键任务管理器,打开电脑任务管理器快捷键是什么电脑使用很广泛,很多时候在使用电脑的过程中都会用到任务管理器,学习啦小编整理的本文为大家讲解打开电脑任务管理器快捷键是什么,一起来了解吧。打开电脑任务管理器快捷键是什么设备管理器是Windows操作系统提供的对计算机硬件进行管理的一个图形化工具。一般我们可通过设备管理器查看计算机硬件的配置信息,获取相关硬件的驱动程序信息以及进行更新、禁用、停用或启用相关设备等。打开电脑任务管理器快捷键:Ctrl+…

    2022年6月18日
    28
  • 常量字符串过长的解决办法_java编译异常和运行异常

    常量字符串过长的解决办法_java编译异常和运行异常如果使用String str = “这是一个很长很长很长 你需要的字符串。”; 出现异常不能正常编译运行时,可以使用下方:StringBuilder sb = new StringBuilder();sb.append(“这是一个很长很长”);sb.append(“很长 你需要的字符串”);字符串太长或字符串其他情况下可使用 : StringBuilder sb = new StringBuilder()…

    2022年8月19日
    49
  • 51单片机抢答器程序_用keil编写4路抢答器程序

    51单片机抢答器程序_用keil编写4路抢答器程序基于AT89C51单片机的八路抢答器设计方案毕业设计(论文)-基于AT89C51单片机的八路抢答器设计图书分类号:密级:毕业论文基于AT89C51的八路抢答器设计OCTALANSWERDESIGNACCORDINGONAT89C51班级学号学生姓名学院名称信电学院专业名称电子信息工程技术指导教师2010年05月20日摘要本设计是以八路抢答为基本理念。考虑到依需…

    2022年10月20日
    2
  • laravel 在nginx服务器上除了首页其余都是404的问题

    laravel 在nginx服务器上除了首页其余都是404的问题

    2021年10月27日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号