当前位置: 移动技术网 > IT编程>开发语言>Java > 折半查找

折半查找

2019年05月28日  | 移动技术网IT编程  | 我要评论
public class a{
 
    public static void main(string[] args){
 
        int[] nums={-1,1,3,19,55,66};  //降序  66 55  19  3  1  -1
 
        int num=66;
 
        int index=a.getindex(nums,num);
 
        system.out.println(index);
 
    }
 

 
    //算法复杂度极高  遍历  n/2的数据取查找   折半查找 log2n
 
    public static int getindex(int[] arr,int num){
 
        int min=0;
 
        int max=arr.length-1;
 
        while(min <=max){
 
            int mid=(min+max)/2;
 
            if(num == arr[mid]){
 
                return mid;
 
            }else if(num < arr[mid]){
 
                max=mid-1;
 
            }else{
 
                min=mid+1;
 
            }
 
        }
 
        return -1;
 
    }
 

 
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网