java二分查找

来源:互联网 发布:北京我知科技有限公司 编辑:程序博客网 时间:2024/06/16 16:05

public int binarySearch(int[] arr,int key){

  if (arr == null) {

    return -1;

  }

  int length = arr.length;

  if (length == 0) {

    return -1;

  }

  int mid = length/2;

  if (arr[mid] == key) {

    return mid;

  }

  int start = 0;

  int end = length-1;

  while (start <= end) {

    mid = (end - start)/2+start;

    if (arr[mid] < key) {

      start = mid +1;

    } else if (arr[mid]>key) {

      end = mid -1;

    }else{

      return mid;

    }

  }

  return -1;

}

原创粉丝点击