二分查找又称折半查找,它是一种效率较高的查找方法。
【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。
private static final int[] NUMBERS = {49, 38, 65, 97, 76, 13};
public static int binarySearch(int elem, int[] array, int low, int high) {
1 if (low > high) { return -1; } int middle = (low+high)/2; if (array[middle] == elem) { System.out.println("找到对应元素值,下标为:" + middle); return middle; } if(array[middle]<elem){ //找右边 return binarySearch(elem, array, middle+1, high); } if(array[middle]>elem){ //找左边 return binarySearch(elem, array, low, middle-1); } return -1; }
BasicSort basicSort = new BasicSort(); basicSort.sort(NUMBERS); BinarySearch.binarySearch( 2,NUMBERS,0,NUMBERS.length-1);