JAVA 折半算数法

JAVA 折半算数法

二分搜索法需要排序,以下是完整的例子

publicstaticvoidmain(string[]args){

int[]ind=newint[6];

for(inti=0;iind[i] = (int) (math.random() * 100); } system.out.println("随机数为: " + arrays.tostring(ind)); arrays.sort(ind); //二分搜索法是需要排序的 system.out.println("排序后: " + arrays.tostring(ind)); int key = 20; //这是要查找的数 system.out.println(find(ind,key)); } public static boolean find(int[] ind,int key){ int start = 0; int end = ind.length - 1; int mid = ind.length / 2; while (start <= end) { mid = (end - start) / 2 + start; if (key < ind[mid]) { end = mid - 1; } else if (key > ind[mid]) { start = mid + 1; } else { return true; } } return false; }

首页