public class SearchArray {
public static void main(String[] args){
// ***********线性查找**************
String[] array1 = new String[]{"f","d","g","h","q","p"};
String target1 = "h";
boolean isFlag1 = true;
for(int i = 0; i < array1.length; i++){
if(target1.equals(array1[i])){
System.out.println("找到了,位置为:" + i);
isFlag1 = false;
break;
}
}
if(isFlag1){
System.out.println("没找到");
}
// ***********二分查找**************
int[] array2 = new int[]{-190,-43,-6,0,54,76,87,97,154,222,455,652,987};
int target2 = 87;
int head = 0; // 初始首索引
int end = array2.length - 1; // 初始末索引
boolean isFlag2 = true;
while(head <= end){
int middle = (head + end) / 2;
if(target2 == array2[middle]){
isFlag2 = false;
System.out.println("找到了,位置为:" + middle);
break;
}else if(array2[middle] > target2){
end = middle - 1;
}else{
head = middle + 1;
}
}
if(isFlag2){
System.out.println("没找到");
}
}
}
JAVA 数组的查找
最新推荐文章于 2024-05-10 15:07:54 发布