C++ lower_bound 与 upper_bound 函数
头文件: #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 函数相关推荐
- lower_bound()和upper_bound( )函数详解
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的.两个函数的用法类似,在一个左闭右开的有序区间里进行二分查找,需要查找的值由第三个参数给出 ...
- 二分搜索:lower_bound 与 upper_bound 函数
基本用法: lower_bound 和upper_bound需要用在一个有序数组和容器中. (1)lower_bound (first,last,val)用来寻找在数组和容器[first,last)的 ...
- C++ lower_bound() upper_bound() 函数用法详解(深入了解,一文学会)
find().find_if().search() 等.值得一提的是,这些函数的底层实现都采用的是顺序查找(逐个遍历)的方式,在某些场景中的执行效率并不高.例如,当指定区域内的数据处于有序状态时,如果 ...
- C++/C--二分查找之lower_bound( )和upper_bound( )【转载】
文章目录 1 头文件及相关函数 2 函数lower_bound() 3 函数upper_bound() 4 示例 1 头文件及相关函数 头文件: #include <algorithm> ...
- upperbound找不到_关于lower_bound( )和upper_bound( )的常见用法
头文件:#include lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的. 在从小到大的排序数组中, lower_bound( begi ...
- lower_bound()与upper_bound()
lower_bound和upper_bound函数用法 一,在数组中使用lower_bound()upper_bound() 二.STL中的lower_bound()和upper_bound() lo ...
- lower_bound()和upper_bound()的简单讲解
前几天复习二分然后百度了下lower_bound()和upper_bound()函数,现在将我的理解说下,先贴出我写的代码! #include<iostream> using namesp ...
- lower_bound( )和upper_bound( )的基本用法
lower_bound( )和upper_bound( )是C++ STL模板库中的函数,其作用可以看作是一个简单的二分模板. 基本使用方法: lower_bound: 参数:lower_bound( ...
- 二分检索函数lower_bound()和upper_bound()
二分检索函数lower_bound()和upper_bound() 一.说明 头文件:<algorithm> 二分检索函数lower_bound()和upper_bound() lower ...
最新文章
- STC用PCA测量脉宽_用于相干激光雷达的大能量长脉宽单频激光器 | COL
- js设置div高度低于滚动高度时固定
- mycat 编辑schema.xml
- ElasticSearch创建、修改、获取、删除、索引Indice mapping和Index Template案例
- Linux网络编程---I/O复用模型之poll
- C语言fread和fwrite的用法详解
- PHP在线无人值守源码交易网站源码,集成支付宝微信接口
- 调优哪家强——tensorflow命令行参数
- linux e1000e 网卡驱动,在centos7上安装intel e1000e 网卡驱动
- 即时通讯安全问题大曝光
- SHOWWINDOW最小化不好用
- Java中的代理(静态代理和动态代理)
- 基于深度学习的车辆信息识别(一):车辆颜色识别
- 主板显卡服务器维修,显卡无显示怎么维修 显卡无显示解决方法【详细介绍】...
- 英语chalchite蓝绿松石CHALCHITE单词
- java nio MappedByteBuffer 文件映射
- 爱普生WF7710WF7720WF3720升级固件导致墨盒不识别解决方法
- 解决vue element导航重复点击路由报错
- Datawhale二手车预测Task
- 软考信息系统项目管理师质量管理高分论文赏析