3、查找—给定查找数返回数组第一次出现的下标值
(无序(依次比较)、有序(二分查找))
缺点:有序、查找数靠前
class ArrayChaZhao{
public static void main(String[] args) {
//定义数组
//int[] arr={1,2,3,5,6,8};//无序数组
int[] arr={1,2,3,5,6,8};//有序数组
//给定查找数
int num=8;
//二分查找
//提供三个下标
int min=0;
int max=arr.length-1;
int mid=(min+max)/2;
//循环范围不确定
while(arr[mid]!=num){//中间下标对应的元素值和查找数不相等
//如果num大于中间下标对应的元素值
if(num>arr[mid]){
min=mid+1;
}
//如果num小于中间下标对应的元素值
if(num<arr[mid]){
max=mid-1;
}
//查找数不在数组判断条件
if(min>max){
System.out.println("查无此数");
//结束循环
break;
}
//重新计算中间下标
mid=(min+max)/2;
}
//输出结果
if(max>=min)
System.out.println(mid);
}
}