package Fill.vice.test;
import java.util.Arrays;
import java.util.Date;
/**
*
* @author liufeihong
*/
public class TestDemo {
public static void main(String[] args) {
//二分查找法:折半查找.必须是有序表.且不利删除和插入
int[] arr={6,8,9,2,1,5,30};
System.out.println("sfds"+Math.round(12.333));
System.out.println(nim(arr,5));
}
public static int nim(int[] num,int n){
Arrays.sort(num);
int start=0;
int end=num.length-1;
int mid=-1;//表示目前没有下标
while(start<=end){
mid=(start+end)/2;//求中间位置
if(num[mid]==n){
return mid;
}else if(num[mid]>n){
end=mid-1;
}else if(num[mid]<n){
start=mid+1;
}
}
return -1;
}
/*
public static int nim(int[] num){
if(num==1){
return 1;
}
return num*nim(num-1);
}
*/
}
二分查找法
最新推荐文章于 2019-06-13 16:52:03 发布