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; }*/ }
java的折半查找_java折半查找法的两种方式
版权声明:本文为weixin_42447681原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。