折半查找算法

来源:互联网 发布:软件靠流量赚钱 编辑:程序博客网 时间:2024/05/22 09:04

折半查找算法是建立在有序数组上,通过不断缩小一半的范围进行找到,

直至最终找到数据,实例如下:

public class BinSearchMain {    public static void main(String[] args) {        int[] arr = {1,3,3,5,9,12,16,17};        System.out.println(binSearch(arr,5));    }    static int binSearch(int[] arr,int a){        int low = 0;        int high = arr.length-1;        while(low<=high){            int mid = (low+high)>>1;            if(arr[mid]==a) return mid;  //查找到指定元素,返回位置            else if(arr[mid]>a) high=mid-1;            else low = mid+1;        }        return -1;  //未找到指定元素,返回-1    }}

原创粉丝点击