您的位置:首页 > 编程语言 > Java开发

二分法查询(数组)

2014-02-19 09:38 232 查看
public class A{
    public static void main
(String [] args)
    {
        int arr[]={1,2,5,6,8,9,56,84};
        int i=56;
        print(arr);
       System.out.println(binarySearch(arr,i));
    }

    public static void print(int arr[]){
        for (int k=0;k<arr.length
;k++ ) 
        {
            System.out.print(arr[k]+"
 ");
        }
        System.out.println();
    }
    public static int binarySearch(int arr[],int i){
        int starPos=0;
        int endPos=arr.length-1;
        int mid=(starPos+endPos)/2;
        if(arr.length==0)
        {
            return -1;
        }
        while(starPos<=endPos){
           if(i==arr[mid]){
               return mid;
           }
           if(i>arr[mid]){
               starPos=mid+1;
           }
           if(i<arr[mid]){
               endPos=mid-1;
           }
           mid=(starPos+endPos)/2;
           
        }
        return -1;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二分法 数组 java