/* github */

java基础之二分法查找

package p;

public class NumberSearch {

/**
* @param args
* 二分查找法
*/
public static void main(String[] args) {

int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 };
System.out.println(NumberSearch.NumSearch(arr, 12));
System.out.println(NumSearch(arr, 45));
System.out.println(NumSearch(arr, 67));
System.out.println(NumSearch(arr, 89));
System.out.println(NumSearch(arr, 99));
}

public static int NumSearch(int arr[], int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int middle = (start + end) / 2;
if (key < arr[middle]) {
end = middle - 1;
} else if (key > arr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}

}

posted on 2018-03-08 18:40  王精灵  阅读(623)  评论(1编辑  收藏  举报