lower_bound 与 upper_bound

不论是lower_bound还是upper_bound,他们两者的实质都是利用二分查找法去解决问题,因而不难理解,两者所作用的对象必须是已经排好序的

递增数组 

lower_bound(begin,end,num)
从数组的begin位置到end-1位置二分查找第一个大于等于num的数字,找到则返回该数字的地址,找不到则返回end。

upper_bound(begin,end,num)
从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到则返回该数字的地址,找不到则返回end。

递减数列 

lower_bound(begin,end,num,greater<type>())

从数组的begin位置到end-1位置二分查找第一个小于等于num的数字,找到则返回该数字的地址,找不到则返回end。

upper_bound(begin,end,num,greater<type>())

从数组的begin位置到end-1位置二分查找第一个小于num的数字,找到则返回该数字的地址,找不到则返回end。

通过返回的地址减去起始地址begin,得到该数字在数组中的下标。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗马尼亚硬拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值