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)
上一篇 2022年6月13日 下午7:16
下一篇 2022年6月13日 下午7:36


相关推荐

  • 在线学习Java的几个网站,别再盲目学习java了![通俗易懂]

    在线学习Java的几个网站,别再盲目学习java了![通俗易懂]LearnJava在线这是一个非常不错的学习Java的在线网站,纯免费。这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握Java编程语言。通过直接从网络浏览器运行实际代码,你无需在本地安装和执行代码就可以尝试编码,这无疑提高了编程效率和上手效率。你可以根据目录进行练习,有基础部分和高级部分,首先有例子代码,告诉你需要注意的事项以及详细的讲解,旨在把你教会后再让你进行练习。下面就是练习部分,练习部分没有固定在底部边框,可以自由滑动,能够让你编写代码的同时能够查看示例代码详解

    2022年7月7日
    61
  • 洛谷1111修复公路

    洛谷1111修复公路题目背景 A 地区在地震过后 连接所有村庄的公路都造成了损坏而无法通车 政府派人修复这些公路 题目描述给出 A 地区的村庄数 N 和公路数 M 公路是双向的 并告诉你每条公路的连着哪两个村庄 并告诉你什么时候能修完这条公路 问最早什么时候任意两个村庄能够通车 即最早什么时候任意两条村庄都存在至少一条修复完成的道路 可以由多条公路连成一条道路 输入输出格式输入格式 第 1 行两个正整数 N M 下面 M 行 每行 3 个正整

    2026年3月17日
    2
  • Java Exception的日志输出

    Java Exception的日志输出  最近项目中使用多线程,需要将catch到的Exception与其他日志信息一起输出,否则日志会比较杂乱不太好准确定位。那么JavaException到底有哪些信息呢?    Exception中的方法都是继承Throwable类的方法   一般catch到Exception,我们会直接用e.printStackTrace()方法输出exception的完整堆栈信息。但…

    2022年7月13日
    94
  • nginx和gateway什么关系_api网关和redis的关系

    nginx和gateway什么关系_api网关和redis的关系经常遇到别人问我,有了nginx做网关,为啥还要用到gateway呢首先这两种网关的定义不一样用户访问的总入口,也就是前端页面的容器,流量网关gateway的定义是针对每一个业务微服务来得,属于业务网关借鉴一个图对于具体的后端业务应用或者是服务和业务有一定关联性的策略网关就是上图左边的架构模型——业务网关。业务网关针对具体的业务需要提供特定的流控策略、缓存策略、鉴权认证策略等等。与业务网关相反,定义全局性的、跟具体的后端业务应用和服务完全无关的策略网关就是上图右边所示的架构模型

    2022年10月11日
    2
  • 2026年OpenClaw智能助手部署指南:云端与本地方案全解析

    2026年OpenClaw智能助手部署指南:云端与本地方案全解析

    2026年3月13日
    2
  • Gemini 3 的智能体(Agent)能力:从“回答问题”到“完成目标”

    Gemini 3 的智能体(Agent)能力:从“回答问题”到“完成目标”

    2026年3月16日
    3

发表回复

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

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