二分算法模板

高效查找已排序数组中的元素:二分搜索算法详解
//数组a[]中有n个元素,已经按升序排序,待查找的元素X
template<class Type>
{
    int BinarySearch(Type a[],const Type& x,int n)
    {
        int left = 0;                                     //左边界
        int right = n-1;                                  //右边界
        while(left <= right)
        {
            int middle = (left+right)/2;                  //中点
            if (x == a[middle]) return middle;            //找到x,返回数组中的位置
            else if (x > a[middle]) left = midlde + 1;
            else right = middle - 1;
        }
        return -1;                                        //未找到x
    }
}

 

转载于:https://www.cnblogs.com/pshw/p/5132986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值