二分查找法

来源:互联网 发布:电子电路软件哪个好 编辑:程序博客网 时间:2024/06/10 23:35
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);}*/}

原创粉丝点击