二分查找-JAVA

来源:互联网 发布:win10磁盘优化有什么用 编辑:程序博客网 时间:2024/05/17 23:37
public class BinarySearch {public int binarySearch(int a[], int goal) {    int low = 0;    int high = a.length - 1;    int middle;    while(low <= high) {        middle = (high - low) / 2 + low;        if(goal == a[middle]) {            return middle;        }        else if(goal < a[middle]) {            high = middle - 1;        } else {            low = middle + 1;        }    }    return -1;}public static void main(String[] args) {    BinarySearch binarySearch = new BinarySearch();    System.out.println(binarySearch.binarySearch(new int[] {1, 2, 3, 4, 6, 7, 8, 9}, 3));    System.out.println(binarySearch.binarySearch(new int[] {1, 2, 3, 4, 6, 7, 8, 9}, 5));}}

结果:
2
-1

0 0