public class ArryTest {
public static void main(String[] args) {
//数组的查找
//线性查找
int dest = 7;
boolean ifFlag = true;
for(int i = 0; i< arr.length;i++){
if(arr[i] == dest){
System.out.println("所在位置为:" + (i+1));
ifFlag = false;
break;
}
}
if(ifFlag){
System.out.println("没有找到您想要的");
}
System.out.println();
//二分法(只适用于有序数组)
int[] arr3 = new int[]{12,24,46,67,78,89,99,123,343,566};
int dest1 = 23;
int head = 0;
int end = arr.length -1;
boolean ifFlag1 = true;
while(head <= end){
int middle = (head + end)/2;
if(dest1 == arr3[middle]){
System.out.println("找到了" + (middle + 1));
ifFlag1 = false;
break;
}else if(dest1 < arr3[middle]){
end = middle - 1;
}else{
head = middle + 1;
}
}
if(ifFlag1){
System.out.println("没有找到哦");
}
}
}
java 数组线性查找、二分法
最新推荐文章于 2024-07-10 23:02:13 发布