//二分查找算法的實現 public static int binarySearch(int[] arr,int search) { int low=0; int high=arr.length-1; //找到中間的索引 int middleIndex=0; while (low<high) { middleIndex=(low+high+1)/2; if (arr[middleIndex]==search) { return middleIndex; } else if(arr[middleIndex]>search) { high=middleIndex-1; } else { low=middleIndex+1; } } return middleIndex; }
1 調用算法
int[] arr=new int[] {1,2,3,4,5,6,7,8,9,10};
int index= binarySearch(arr, 8);
System.out.println("查找的值8位於數組中的索引爲:"+index);數組
默認傳入的數組是排好序的spa