public class HalfSearch { public static void main(String[] args) { int[] arr={5,7,11,12,23,34,45}; int index=halfSearch(arr,68); System.out.println("34在数组中的索引为:"+index); } private static int halfSearch(int[] arr, int i) { int max=arr.length-1; int min=0; int mid=(max+min)/2; while(true){ //找到元素 if(i>arr[mid]){ min=mid+1; }else if(i<arr[mid]){ max=mid-1; }else{ return mid; } //没有找到元素 if(max<min){ return -1; } //获取新的mid mid=(max+min)/2; } } } |
//二分法查找数组中的某个元素(二分法查找时数组元素必须是有序的)
最新推荐文章于 2020-11-09 19:36:32 发布