lower_bound(左边界取等)

在从小到大排序的数组中:lower_bound(begin, end, num)

从数组的begin位置到end - 1位置二分查找第一个\(\color{red}{大于或等于}\)num的数,找到返回该数的地址,不存在返回end;通过返回的地址减去begin,得到数字在数组中的下标

在从大到小排序的数组中:lower_bound(begin ,end, num, greater())

从数组的begin位置到end - 1位置二分查找第一个\(\color{red}{小于或等于}\)num的数

upper_bound

在从小到大排序的数组中:upper_bound(begin, end, num)

从数组的begin位置到end - 1位置二分查找第一个\(\color{red}{大于}\)num的数,找到返回该数的地址,不存在返回end;通过返回的地址减去begin,得到数字在数组中的下标

在从大到小排序的数组中:upper_bound(begin ,end, num, greater())

从数组的begin位置到end - 1位置二分查找第一个\(\color{red}{小于}\)num的数