JAVA實現二分法查詢並輸出每一趟查詢的結果
阿新 • • 發佈:2019-01-22
public class Binary { public static void main(String[] args) { int[] a={1,3,4,5,6,7,8,9,10,22,44,55,66,77,88,99}; int result=find(a,44); System.out.println(result); } public static int find(int[] a,int value) { int i; int j; int m; i=0; j=a.length-1; m=(i+j)/2; while(i<=j) { for(int k=0;k<a.length;k++)//輸出每次的取的中間值 { System.out.print(a[k]); if(a[k]==a[m]) { System.out.print("*"); } System.out.print(" "); } System.out.println(); if(value<a[m]) { j=m-1; m=(i+j)/2; } else if(value>a[m]) { i=m+1; m=(i+j)/2; } else { return m; } } return -1; } }