Java算法之二分法查找

来源:互联网 发布:linux red5安装与配置 编辑:程序博客网 时间:2024/06/10 06:29

二分法查找

package search;import java.util.Arrays;public class BinarySeach {    public static void main(String[] args) {        int[] a = {1,22,33,45,69,70,95,100};        Arrays.sort(a);        int index = binarySearch(a, 95);        System.out.println(index) ;    }    public static int binarySearch(int[] a , int key){         int low  = 0;         int high = a.length - 1;         while(low <= high){             System.out.println(low + "------" + high);  //循环的次数             int mid = (low + high) / 2; //中间索引             int midVal = a[mid];  //中间元素 猜测的值             if(midVal > key){ //猜大了                 high  = mid -1;             }else if(midVal < key){ //猜小了                 low = mid +1;             }else{                 return mid;  //猜到了             }         }        return -1;    }}
原创粉丝点击