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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring cloud 配置中心配置哪些东西_druid连接池配置优化

    spring cloud 配置中心配置哪些东西_druid连接池配置优化访问http://localhost:8761/访问http://localhost:8761/访问http://localhost:8889/writer

    2022年10月28日
  • 设置VScode的快捷键

    设置VScode的快捷键打开快捷键面板首先,打开快捷键设置面板:文件-首选项-键盘快捷键Ctrl+k,Ctrl+s也能打开设置快捷键这一步,需要已经知道,默认的快捷键是什么。比如,跳转到上一个编辑位置(VScode中叫前进,奇了怪),默认的是”alt+right”。那么,在最上方的面板中输入:我想要改成”Ctrl+Alt+右箭头”,点击进入,按下该组合键:然后,点击“已有2条命令的按键绑定与此相同”,清理已有的快捷键设置:然后,再次尝试绑定,就可以成功了:…

    2022年5月25日
  • pycharm使用技巧及常用快捷键_wps自定义快捷键设置

    pycharm使用技巧及常用快捷键_wps自定义快捷键设置PyCharm自身提供了大量实用的快捷键,但是由于自己之前其他软件的快捷键使用习惯与此不同,这就需要在PyCharm量身DIY属于自己的快捷键了。快来按照下面的流程操作吧!!!1、File—&gt;Settings【Settings的快捷键大家看到了嘛!!!Ctrl+Alt+S】2、Keymap—&gt;齿轮状设置—&gt;Duplicate建议在设置快捷键之前…

    2022年8月27日
  • NGINX比Apache的性能高是因为NGINX由C语言开发,而Apache由C++开发

    NGINX比Apache的性能高是因为NGINX由C语言开发,而Apache由C++开发

    2021年10月18日
  • 常用网管工具_网管系统

    常用网管工具_网管系统1、ping(你懂的)2、df-h(查看磁盘使用情况)3、top(查看cpu使用情况,按“1”可以查看各个cpu详情)4、pstree(树形显示进程及同名进程的数量)5、vmstat[m][n](显示服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。间隔m秒钟显示一次,一共显示n次)6、nload(监视网络吞吐量)7、ps…|grep

    2022年10月6日
  • php sigpipe,Python的SIGPIPE信号「建议收藏」

    php sigpipe,Python的SIGPIPE信号「建议收藏」Haveyoueverseenasocket.error:[Errno32]BrokenpipemessagewhenrunningaPythonWebserverandwonderedwhatthatmeans?Theruleisthatwhenaprocesstriestowritetoasocketthathasalre…

    2022年5月30日

发表回复

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

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