摘要:本文主要向大家介绍了JAVA语言基础之循环 二分法查找实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了JAVA语言基础之循环 二分法查找实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
二分法查找:
例如: 1 , 9 , 5 , 6 , 7 , 2 , 4
start=0; end=6;
mid=(start+end)/2;
如果findValue等于arr[mid],则直接return mid;
如果findValue小于arr[mid],则令end=mid-1;
1 , 9 , 5 , 6 , 7 , 2 , 4
start=0; end=2;
如果findValue大于arr[mid],则令start=mid+1;
1 , 9 , 5 , 6 , 7 , 2 , 4
start=4; end=6;
package stuClass;
import java.util.Arrays;
public class Test02 {
public static void main(String[] args) {
int[] arr= {1,9,5,6,7,2,4};
Test02 tt=new Test02();
int x=tt.getSort(arr, 0, arr.length-1, 1);
System.out.println(x);
System.out.println(Arrays.toString(arr));
}
public int getSort(int[] arr,int start,int end,int findValue) {
Arrays.sort(arr);
if(arr==null) {
return -1;
}
while(start<=end) {
int mid=(start+end)/2;
int midValue=arr[mid];
if(findValue<midValue) {
end=mid-1;
}else if(midValue==findValue) {
return mid;
}else {
start=mid+1;
}
}
return -1;
}
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号