二分查找实现思想
在有序序列中,每次以序列的中间位置数来与待查找数进行比较,每次缩小一半的查找范围,直到匹配成功。
**二分查找的 优缺点**:
优点:查找速度快,次数少。
缺点:有限制,必须是有序的序列,而且在其中增添,删减较为麻烦。
public class test{
//二分查找的方法,两个参数,在数组a 里面查找元素y
public static int binarySearch(int[] a,int y){
int low=0;
//数组长度
int high=a.length-1;
while(low<=high){//只有排除到只剩一个元素时才结束。
int mid=(low+high)/2 //数组中间元素的下标。
int guess=a[mid]; //中间元素
if(guess==y){
return mid;
}
if(guess>y){
high=mid-1;
}else{
low=mid+1;
}
return mid;//找到元素。返回在数组中的下标位置。
}
return -1;//没有找到元素,返回-1
}
}