Skip to content

二分查找#

目录#


1. 模板#

int binary_search(int array[],int low,int high,int target)
{
    while(low<=high)
        {
            int mid=low+(high-low)/2;//防止溢出问题
            if(array[mid]>target)
                high=mid-1;
            else if(array[mid]<target)
            low=mid+1;
            else
                return mid;
        }
    return-1;
}

2. STL#

lower_bound(起始地址,结束地址,要查找的数值) 返回的是 第一个大于或等于 要查找的数值的数出现的位置。

upper_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个大于/最后一个等于 要查找的数值的数出现的位置。

binary_search(起始地址,结束地址,要查找的数值) 返回的是 是否存在 这么一个数,是一个 bool值

3. 题目#

二分查找题目博客专栏

Back to top