java的折半查找_java折半查找法的两种方式

public class PaiXu {  public static void main(String[] args) {   /*int[] arr = {3,1,5,4,2,9};   int index = getIndex(arr,20);   System.out.println("index="+index);*/      int[] arr = {2,4,5,7,8,9,13,64};   int index = halfSerach_2(arr, 5);   System.out.println("index="+index);  }  //折半的第二种方式  public static int halfSerach_2(int[] arr,int key){   int min = 0,max = arr.length-1,mid;   while(min<=max){    mid = (max+min)>>1;    if (key>arr[mid]) {     min = mid+ 1;    }else if(keyarr[mid]) {     min = mid+ 1;    }else if(keymax){     return -1;    }    mid = (min+max)/2;   }   return mid;  }    //定义功能,获取key第一次出现在数组中的位置。如果是-1,那么代表该key在数组中不存在。  /*public static int getIndex(int[] arr,int key){   for (int i = 0; i < arr.length; i++) {    if (arr[i]==key) {     return i;    }   }   return -1;  }*/ }


版权声明:本文为weixin_42447681原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。