二分法(折半)查找

来源:互联网 发布:经济类书籍 知乎 编辑:程序博客网 时间:2024/05/21 04:23
/* * 二分法(折半)查找是建立在排序基础之上的 * 以下程序分析从小到大 * 这个数组中没有重复的元素 */public class BinarySearch {    public static void main(String[] args) {         int [] a={5,6,7,3,6,8,14};        //要求从a数组中查找元素为8,返回下标,如果没有这个元素返回-1         int b =8;        int index = binarySearch(a,b);        System.out.println(index);        System.out.println((index==-1)? b+"元素不存在!":b+"在数组中的元素下标是:"+index);    }    public static int binarySearch(int[] a,int b){        int begin=0;        int end = a.length-1;        while(end>begin){            int mid = (begin+end)/2;            if(a[mid]==b){                return mid;            }            else if(a[mid]>b){                end = mid+1;            }            else if(a[mid]<b){                begin= mid-1;            }        }        return -1;    }}
0 0