JAVAで半減検索を実現
1166 ワード
以下はJAVAで実現した折半検索法です.
public class SplitFind {
/**
* @author hbliu
* @param arrayData
* @param searchData
* @param start
* @param end
* @return , , -1
* :
*/
public static int splitHalf(int[] arrayData,int searchData,int start,int end){
int index = (start + end)/2;
int data = arrayData[index];
if(start > end ){
return -1;
}
if(data == searchData){
return index;
}else{
if(data < searchData){
return splitHalf(arrayData,searchData,index+1,end);
}else{
return splitHalf(arrayData,searchData,start,index-1);
}
}
}
/**
* @author hbliu
* @param args
*/
public static void main(String[] args) {
int[] array = { 3,5,11,17,21,23,28,30,32,50};
System.out.println(array.length);
int isExist = splitHalf(array,(int)50,0,array.length - 1);
System.out.println("isExist : "+isExist);
}
}