upper_bound & lower_bound

发布时间 2023-12-23 00:14:08作者: Green_wang

upper_bound & lower_bound 是STL库中的函数

upper_bound 返回第一个大于查找值的数
lower_bound 返回第一个大于等于查找值的数

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

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

注意:这两函数返回的是地址!需要减去数组首地址才能得到索引
写法类似于sort

例:

lower_bound(a + 1, a + n + 1, 5) - a
upper_bound(a + 1, a + n + 1, 5) - a