java算法之二分查找

来源:互联网 发布:adobe系列软件介绍 编辑:程序博客网 时间:2024/06/06 00:09

基本思想
将有序序列分成2部分,通过比较,决定查找元素在前半部分还是后半部分,然后递归。
代码

public class BinaryTest{    public static int binary(int[] array, int value)    {        int low = 0;        int high = array.length - 1;        while(low <= high)        {            int middle = (low + high) / 2;            if(value == array[middle])            {                return middle;            }            if(value > array[middle])            {                low = middle + 1;            }            if(value < array[middle])            {                high = middle - 1;            }        }        return -1;    }    public static void main(String[] args)    {        int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9};        int value = binary(a, 9);        System.out.println(value);    }}
原创粉丝点击