博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的折半查询
阅读量:5925 次
发布时间:2019-06-19

本文共 1205 字,大约阅读时间需要 4 分钟。

(视频教程所学)记录所学,非解疑。。。。

 

(写在前面)

在做这个练习中,碰到了一个classpath的问题,由此得出一个结论:

在做测试的时候,如果结果不是你预想的值时,就要看看你的classpath值,确认自己是否测试其他的class文件。

因为当运行java的class文件时,虚拟机会先找在classpath中设置的文件夹,当在classpath配置的文件夹中找不到该文件时,才会在其他的文件中查找。

 

折半查询算法

/*功能: 折半查找的实现*//***@ author    Soul_Fighter*@ 功   能        折半查找*/public class ArrayDemo{    public static void main(String[] args)    {        int[] arr = new int[]{2,5,8,10,16,22,24,27,30};        int index = halfSearch(arr,24);        System.out.println(index);    }        /**    *@ author    Soul_Fighter    *@ 功   能        折半查找    *@ param        array    *@ param        key    *@ return        int    */    /*    思路:折半查找    1、定义三个角标变量,最大角标max,最小角标min,中间角标mid。    2、定义一个循环,因为不确定第一次就能得出结果。这里用while循环比较好,因为只需判断一个条件arr[mid]是否等于key的值。即:arr[mid] != key。    3、然后判断arr[mid]的值和key的值之间的关系。如果arr[mid]>key,则max = mid - 1;如果arr[mid] < key,则min = mid +1。中间值重新去值mid = (max+min)/2。    4、因为min不能大于max的值,所以还要加一个判断。如果min
key) max = mid - 1; else if(arr[mid] < key) min = mid +1; if(min > max) return -1; mid = (max+min)/2; } return mid; }}

 

 

转载于:https://www.cnblogs.com/soulfighter/p/3315534.html

你可能感兴趣的文章
图片自动随div大小改变
查看>>
(译)在Objective-c里面使用property教程
查看>>
Android --- 图片的特效处理
查看>>
PL SQL 9 安装 并连接 64位 Oracle 11G
查看>>
ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
查看>>
【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本
查看>>
UVA 620 Cellular Structure
查看>>
opencv识别三角形代码(转)
查看>>
配置监听非默认端口(1521)的em
查看>>
MySQL行锁深入研究
查看>>
项目管理有感之二 需求调研(转)
查看>>
Eclipse快捷键大全
查看>>
“C语言” 读书札记(六)之[Linux下C语言编程环境Make命令和Makefile] - 川山甲 - 博客园...
查看>>
由SharePoint 2010的Session引发的Access Violation异常
查看>>
Bhattacharyya距离
查看>>
C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解
查看>>
通过Process类获取系统进程列表
查看>>
茶的种类有多少种?
查看>>
简 单 的 Java程 序
查看>>
Unity The Property Matching Rule
查看>>