二分查找
// 资源数组
int[] arr = {1,2,3,4,5,6,7};
使用资源数组作为二分查找的查找数组 下面是二分查找的具体代码实现
/**
* 二分查找法
* @param arr 源数组
* @param key 需要查找元素
* @return 返回的时查找的元素下标
*/
public static Integer getIndex(int[] arr,int key){
// 最大下标
Integer max = arr.length-1;
// 最小下标
Integer min = 0;
// 每次查找的下标
Integer mid = (max+min)/2;
// 当最小下标小于等于最大下标时 会执行下面的代买块
while (min <= max){
if (arr[mid] < key){ // 向右查找
min = mid+1;
mid = (max + min)/2;
} else if(arr[mid] > key){ // 向左查找
max = mid-1;
mid = (max + min)/2;
} else { // 恰好就是查找的元素
return mid;
}
}
return -1;
}
传入参数来经行测试
// 传入需要查找的元素3 得到下标并打印在控制台
System.out.println(getIndex(arr, 3));
以上就是二分查找的小案例