二分法查找

来源:互联网 发布:复杂网络 newman 编辑:程序博客网 时间:2024/05/22 06:57

Java


package com.ssdou;public class BinarySearch {    public static void main(String[]args){        int a[] = {1,2,5,8,10,15,19,20};        int i = 12;//需要查找的值        System.out.println(binarySearch(a,i));    }    public static int binarySearch(int[] a,int num){        if((a.length == 0)||(a ==null)){            return -1;        }        int startPos = 0;        int endPos = 0;        int m = (startPos + endPos)/2;        while(startPos<=endPos){            if(num == a[m])                return 0;            if(num <a[m]){                endPos = m-1;            }            if(num >a[m]){                startPos = m+1;            }            m = (startPos+endPos)/2;        }        return -1;    }}
0 0