算法:二分法查找
package com.atguigu;
public class Main {
public static void main(String[] args) {
//二分法查找
//前提:所查找的数组必须有序
int[] arr=new int[]{-98,-34,2,34,54,66,79,105,210,333};
int dest=-3;
int head=0;//初始的首索引
int end=arr.length-1;
boolean isFlag=true;
while(head<=end){
int middle=(head+end)/2;
if(dest==arr[middle]){
System.out.println("找到指定的元素,位置为"+middle);
isFlag=false;
break;
}else if(arr[middle]>dest){
end=middle-1;
}else{
head=middle+1;
}
}
if(isFlag){
System.out.println("很遗憾,没有找到");
}
}
}
原文作者:Java后端小白
原文地址: https://www.cnblogs.com/helloworld0903/p/11456552.html
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://www.cnblogs.com/helloworld0903/p/11456552.html
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章