BinarySearch
1558 ワード
package BinarySearch;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class BinarySearch {
public static void main(String[] args) {
Scanner scanner = null;
try {
scanner = new Scanner(new File("./binarysearch.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String[] inputString = scanner.next().split(",");
int element = Integer.parseInt(scanner.next());
//
int array[] = new int[inputString.length];
for(int i=0;i<inputString.length;i++){
array[i] = Integer.parseInt(inputString[i]);
}
int flag = binarySearch(array,element);
//System.out.println("flag:"+flag);
if(flag != 0){
System.out.println("Find it : array["+flag+"]");
}
if(flag == 0){
System.out.println("Can not find it");
}
}
private static int binarySearch(int array[], int x){
int low = 1;
int high = array.length;
int middle = (low + high)/2;
while(low<=high){
if(x == array[middle]){
return middle;
}
else if(x<array[middle]){
high = middle -1;
middle = (low + high)/2;
}
else if(x>array[middle]){
low = middle + 1;
middle = (low + high)/2;
}
}
return 0;
}
}