二分法查找

来源:互联网 发布:5173游戏交易平台源码 编辑:程序博客网 时间:2024/06/06 16:48

查找思想:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。假设数据是按升序排序的,对于给定值x,从序列的中间位置开始比较,如果当前位置值等于x,则查找成功;若x小于当前位置值,则在数列的前半段中查找;若x大于当前位置值则在数列的后半段中继续查找,直到找到为止。

代码如下:Java code

public static int binarySearch(int[] arr, int value)    {        int start = 0;        int end = arr.length -1;        int mid;        while(start <= end)        {            mid = (start + end) / 2;            if(value == arr[mid])            {                return mid;            }            else if(value > arr[mid])            {                start = mid + 1;            }            else            {                end = mid - 1;            }        }        return -1;    }