二分查找对于初学者来说还是比较好理解的,实现二分查找的前提是数据必须是有序的
顾名思义就是每次查找将数据居中分成两份,这样整个数据就分为了三个,左边部分left,中间分界线middle(只有一个值),右边部分right,判断要查找的值是否等于中间分界线的值,如果不等于是大于那么就在右边部分,如果是小于就在左边部分,依次类推
private static int[] numbers=new int[100];
/**
* 初始化数组1-100
*/
static{
for (int i=0;i<100;i++){
numbers[i]=i+1;
}
}
public static void main(String[] args) {
int i = searchByWhile(numbers, 16);
System.out.println(i);
}
public static int searchByWhile(int[] arr,int val){
int left=0; //左边界(表示数组最小的下标)
int right=arr.length-1; //右边界(表示数组最大的下