使用二分查找数组元素,并运用 Java Arrays 类,打印 数组元素。
有以下数组:
int [] arr = {10,20,3,6,1,2,5};
要求:
public class Test {
public static void main(String[] args) {
System.out.println("嗨客网(www.haicoder.net)\n");
int [] arr = {10,20,3,6,1,2,5};
System.out.println("数组元素:" + Arrays.toString(arr));
int index = fun(arr,2);
System.out.println("索引位置:" + index);
}
public static int fun(int [] arr,int value){
int start = 0;
int end = arr.length - 1;
while(start < end){
int mid = (start + end)/2;
if(value == arr[mid]){
return mid;
}else if(value > arr[mid]){
end = mid - 1;
}else if(value < arr[mid]){
start = mid + 1;
}
}
return -1;
}
}
运行结果如下图:
以上案例使用二分查找查找元素,返回该元素的索引。