import java.util.Arrays;
public class SJJG {
public static void main(String [] args){
// 二分查找的前提是,数据集有序
int[] a = {1,3,5,6,7,9,10,11,13,14,16,19,20,107};
System.out.println(binarySearch(a, 14));
System.out.println(Arrays.binarySearch(a, 14));// 返回元素索引
}
public static int binarySearch(int [] num , int des){
int start = 0;
int end = num.length -1;
while(start <= end){
int mid = (start + end) / 2 ;
if(num[mid] == des){
return num[mid];
}else if(num[mid] < des){
start = mid + 1;
}else if(num[mid] > des){
end = mid -1;
}
}
return -1;
}
}
二分查找
最新推荐文章于 2022-02-16 14:31:27 发布