import java.util.Arrays; /** * * @项目名称:Test * @类名称:BinarySearch * @类描述: 二分法查找 * @创建人:Ansj * @创建时间:2011-9-13 下午02:53:47 * @修改备注: * @version * */ public class BinarySearch { public static void main(String[] args) { int[] ints = {12,123,21,123,1,432,23,42,3,123,124,3,5435,66,456554,435,423,42,1} ; int find = 66 ; //先对数组排序 Arrays.sort(ints) ; for (int i = 0; i < ints.length; i++) { new BinarySearch().search(ints, ints[i]) ; } } public void search(int[] ints , int find){ search(ints,0,ints.length,find) ; } public void search(int[] ints , int start , int end , int find){ if(ints[(start+end)/2]==find){ System.out.println((start+end)/2); }else if(ints[(start+end)/2] > find){ search(ints , start , (start+end)/2 , find) ; }else{ search(ints , (start+end)/2 , end , find) ; } } }