java 封装一个二分查询函数

package BinarySearch;

import java.lang.reflect.Array;

public class Test {
    public static void main(String[] args) {
        int arr[] = {2,6,7,8,9,11,13,45,123,544,600 };
        int result = search(arr, 45, 0, arr.length-1 );
        System.out.println(result);

    }
    
    //二分查询
    public static int search (int arr[], int key, int min, int max) {
        if(min>max) return -1;

        while (true) {


            int mid = (min + max) / 2;

            if (arr[mid] > key) {
                max = mid - 1;
            } else if (arr[mid] < key) {
                min = mid + 1;
            } else {
                return mid;
            }


        }
    }
}

 

posted @ 2022-09-26 20:47  fnasklf  阅读(22)  评论(0编辑  收藏  举报