STL中二分查找函数——binary_search//lower_bound//upper_bound//equal_range

以下函数均需配合头文件< algorithm>和sort函数排序后使用

  • lower_bound
    int lower_bound(start,end,num);
    返回值是int类型,返回的是一个指针,意义是在[start,end)范围内第一次遇到大于或等于num的下标。

  • upper_bound
    int upper_bound(start,end,num);
    返回值是int类型,返回的是一个指针,意义是在[start,end)范围内第一次遇到大于却不等于num的下标。
    在这里插入图片描述

  • binary_search
    bool binary_search(start,end,num);
    返回值是bool类型,意义是在[start,end)范围内是否有num

  • equal_range
    pair upper_bound(start,end,num);
    返回值是pair类型,返回pair< i , j > 。意义是在[ i , j )区间上的数都等于num,相当于是lower_bound和upper_bound的结合

以上函数都是以二分为实现在已排好序的数组或容器中查找的函数,当返回值意义各不相同

(图片来自https://blog.csdn.net/u010700335/article/details/41323427)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值