不论是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,得到该数字在数组中的下标。

lower_bound 与 upper_bound相关推荐

  1. C++ STL: lower_bound 和 upper_bound

    接口声明 以下有两个不同的版本 lower_bound template <class ForwardIterator, class T>ForwardIterator lower_bou ...

  2. 【ACM】Uva 1152 (4 Values whose Sum is 0) 二分查找lower_bound() 和upper_bound()的使用

    [问题描述] The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, ...

  3. vector的插入、lower_bound、upper_bound、equal_range实例

    对于这几个函数的一些实例以便于理解: #include <cstdlib> #include <cstdio> #include <cstring> #includ ...

  4. lower_bound和 upper_bound 用法(STL)

    lower_bound和 upper_bound的头文件是#include<algorithm> lower_bound 返回第一个大于等于 x 的数的地址/迭代器 upper_bound ...

  5. lower_bound和upper_bound算法

    STL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法. ForwardIter lower_bound(ForwardIter first, ForwardIter last,co ...

  6. STL中的lower_bound和upper_bound的理解

    STL迭代器表述范围的时候,习惯用[a, b),所以lower_bound表示的是第一个不小于给定元素的位置 upper_bound表示的是第一个大于给定元素的位置. 譬如,值val在容器内的时候,从 ...

  7. 二分检索函数lower_bound()和upper_bound()

    二分检索函数lower_bound()和upper_bound() 一.说明 头文件:<algorithm> 二分检索函数lower_bound()和upper_bound() lower ...

  8. lower_bound()和upper_bound()

    二分检索函数lower_bound()和upper_bound() lower_bound():找到大于等于某值的第一次出现 upper_bound():找到大于某值的第一次出现 必须从小到大排序后才 ...

  9. C++/C--二分查找之lower_bound( )和upper_bound( )【转载】

    文章目录 1 头文件及相关函数 2 函数lower_bound() 3 函数upper_bound() 4 示例 1 头文件及相关函数 头文件: #include <algorithm> ...

  10. C++ lower_bound 与 upper_bound 函数

    头文件: #include  <algorithm> 二分查找的函数有 3 个: 参考:C++ lower_bound 和upper_bound lower_bound(起始地址,结束地址 ...

最新文章

  1. spring使用AOP注解三步曲
  2. 简述使用混合传递参数时的基本原则_JUnit 5参数化方法测试(一)
  3. Linux 下文件系统权限控制及管理
  4. 中国人民大学_《组织行为学》_18权力:怎样防止授权走样?
  5. python回归分析预测模型_Python与线性回归模型预测房价
  6. c语言的32个关键词
  7. UrlEncode编码算法
  8. 计算机辅助翻译的启示,翻译单位研究对计算机辅助翻译启示.PDF
  9. 【Git入门之五】版本管理
  10. html设计网页技巧,网页设计技巧:网页表格设计技巧总结
  11. mysql 脏数据查询_MySQL数据库02
  12. Linux运维 第三阶段 (五) DNS(主从,rndc远程控制,子域授权,视图,压力测试)
  13. 用python调用r包
  14. 机器学习实战应用案例100篇(十)-蝙蝠算法从原理到实战应用案例
  15. 【数据挖掘算法】(一)MSET 算法
  16. Apache 配置ssl证书
  17. ccs 动态梦幻西游
  18. 正则表达式---省、自治区、直辖市
  19. 使用ardunio制作神秘礼物(环境光传感器、舵机、LED、蜂鸣器)
  20. 闭关修炼(二十二)session和cookie原理

热门文章

  1. 神奇玻璃制品:鲁珀特之泪
  2. Java学习-07 IO学习
  3. 阿姆达尔定律 是什么 Amdahl 并行效率计算经验法则
  4. 魔兽地图编辑器实现英雄选择的四种方法
  5. 综合练习(活期存款)
  6. 2017-12-16 机器视觉表面缺陷检测综述
  7. 《微信小程序》 开源项目
  8. 15款值得推荐的思维导图(心智图 )工具
  9. img-polaroid_这个由AI驱动的宝丽来会散发出幼稚的图画而不是照片
  10. opencv读取视频及打不开视频的解决方法