二分查找法

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) ;
}
}

}

你可能感兴趣的:(二分查找)