头文件: #include  <algorithm>

二分查找的函数有 3 个: 参考:C++ lower_bound 和upper_bound

lower_bound(起始地址,结束地址,要查找的数值) 返回的是数值 第一个 出现的位置。

upper_bound(起始地址,结束地址,要查找的数值) 返回的是数值 最后一个 出现的位置。

binary_search(起始地址,结束地址,要查找的数值)  返回的是是否存在这么一个数,是一个bool值

1  函数lower_bound()  参考:有关lower_bound()函数的使用

功能:函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置.

注意:如果所有元素都小于val,则返回last的位置,且last的位置是越界的!!

2 函数upper_bound()

功能:函数upper_bound()返回的在前闭后开区间查找的关键字的上界,返回大于val的第一个元素位置

注意:返回查找元素的最后一个可安插位置,也就是“元素值>查找值”的第一个元素的位置。同样,如果val大于数组中全部元素,返回的是last。(注意:数组下标越界)

PS

lower_bound(val):返回容器中第一个值【大于或等于】val的元素的iterator位置。

upper_bound(val): 返回容器中第一个值【大于】

例子:

void main()
{vector<int> t;t.push_back(1);t.push_back(2);t.push_back(3);t.push_back(4);t.push_back(6);t.push_back(7);t.push_back(8);int low=lower_bound(t.begin(),t.end(),5)-t.begin();int upp=upper_bound(t.begin(),t.end(),5)-t.begin();cout<<low<<endl;cout<<upp<<endl;system("pause");
}

屏幕输出:

参考:

STL之std::set、std::map的lower_bound和upper_bound函数使用说明

https://blog.csdn.net/jadeyansir/article/details/77015626  可以多看几遍

https://blog.csdn.net/tjpuacm/article/details/26389441

https://blog.csdn.net/lanzhihui_10086/article/details/43269511

转载于:https://www.cnblogs.com/Tang-tangt/p/9291018.html

C++ lower_bound 与 upper_bound 函数相关推荐

  1. lower_bound()和upper_bound( )函数详解

    lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的.两个函数的用法类似,在一个左闭右开的有序区间里进行二分查找,需要查找的值由第三个参数给出 ...

  2. 二分搜索:lower_bound 与 upper_bound 函数

    基本用法: lower_bound 和upper_bound需要用在一个有序数组和容器中. (1)lower_bound (first,last,val)用来寻找在数组和容器[first,last)的 ...

  3. C++ lower_bound() upper_bound() 函数用法详解(深入了解,一文学会)

    find().find_if().search() 等.值得一提的是,这些函数的底层实现都采用的是顺序查找(逐个遍历)的方式,在某些场景中的执行效率并不高.例如,当指定区域内的数据处于有序状态时,如果 ...

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

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

  5. upperbound找不到_关于lower_bound( )和upper_bound( )的常见用法

    头文件:#include lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的. 在从小到大的排序数组中, lower_bound( begi ...

  6. lower_bound()与upper_bound()

    lower_bound和upper_bound函数用法 一,在数组中使用lower_bound()upper_bound() 二.STL中的lower_bound()和upper_bound() lo ...

  7. lower_bound()和upper_bound()的简单讲解

    前几天复习二分然后百度了下lower_bound()和upper_bound()函数,现在将我的理解说下,先贴出我写的代码! #include<iostream> using namesp ...

  8. lower_bound( )和upper_bound( )的基本用法

    lower_bound( )和upper_bound( )是C++ STL模板库中的函数,其作用可以看作是一个简单的二分模板. 基本使用方法: lower_bound: 参数:lower_bound( ...

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

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

最新文章

  1. STC用PCA测量脉宽_用于相干激光雷达的大能量长脉宽单频激光器 | COL
  2. js设置div高度低于滚动高度时固定
  3. mycat 编辑schema.xml
  4. ElasticSearch创建、修改、获取、删除、索引Indice mapping和Index Template案例
  5. Linux网络编程---I/O复用模型之poll
  6. C语言fread和fwrite的用法详解
  7. PHP在线无人值守源码交易网站源码,集成支付宝微信接口
  8. 调优哪家强——tensorflow命令行参数
  9. linux e1000e 网卡驱动,在centos7上安装intel e1000e 网卡驱动
  10. 即时通讯安全问题大曝光
  11. SHOWWINDOW最小化不好用
  12. Java中的代理(静态代理和动态代理)
  13. 基于深度学习的车辆信息识别(一):车辆颜色识别
  14. 主板显卡服务器维修,显卡无显示怎么维修 显卡无显示解决方法【详细介绍】...
  15. 英语chalchite蓝绿松石CHALCHITE单词
  16. java nio MappedByteBuffer 文件映射
  17. 爱普生WF7710WF7720WF3720升级固件导致墨盒不识别解决方法
  18. 解决vue element导航重复点击路由报错
  19. Datawhale二手车预测Task
  20. 软考信息系统项目管理师质量管理高分论文赏析

热门文章

  1. asp.net 分页
  2. Hadoop 在 windows 7 64位的配置(一)|非cygwin
  3. BeginInvoke之前检测句柄
  4. Delphi用指针读取数组某个元素
  5. java开发环境eclipse的使用(模块代码折叠、可视化开发插件、生成Jar插件)
  6. apache 启用 gzip压缩
  7. 以太网头数据和802.3的区别
  8. html 圆圈项目符号,html – 列表项下的项目符号
  9. 数值计算方法(二)——复化求积公式
  10. (6)散列冲突处理:链地址法