头文件:algorithm

int pos1=lower_bounda,a+n,k)-a;返回数组中第一个大于或等于k的值的下标
int pos2=upper_bound(a,a+n,k)-a;返回数组中第一个大于k的值的下标

注意作用对象是有序数组

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int a[10]={1,3,4,5,7,9,10,26,29,40};//有序数组 int pos1=lower_bound(a,a+10,5)-a;//返回数组中第一个大于或等于k的值的下标 int pos2=upper_bound(a,a+10,5)-a;//返回数组中第一个大于k的值的下标 cout<<"pos1"<<"="<<pos1<<endl;cout<<"pos2"<<"="<<pos2<<endl;return 0;
}

运行结果:

pos1=3
pos2=4

如果把要查找的数字K换成45,则会返回数组最后的下标位置

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int a[10]={1,3,4,5,7,9,10,26,29,40};//有序数组 int pos1=lower_bound(a,a+10,45)-a;//返回数组中第一个大于或等于k的值的下标 int pos2=upper_bound(a,a+10,45)-a;//返回数组中第一个大于k的值的下标 cout<<"pos1"<<"="<<pos1<<endl;cout<<"pos2"<<"="<<pos2<<endl;return 0;
}

运行结果:

pos1=10
pos2=10

vector容器

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{vector<int> a;a.push_back(1);a.push_back(3);a.push_back(4);a.push_back(5);a.push_back(7);a.push_back(9);a.push_back(10);a.push_back(26);a.push_back(29);a.push_back(40);int pos1 = lower_bound(a.begin(),a.end(),5)-a.begin();int pos2 = upper_bound(a.begin(),a.end(),5)-a.begin();cout << "pos1"<<"="<<pos1<<endl;cout << "pos2"<<"="<<pos2<<endl;return 0;  }

运行结果:

pos1=3
pos2=4

同样如果把要查找的数字K换成45,则会返回数组最后的下标位置(我就不写了,和前面都一样)

set容器

set<int>a;
a.lower_bound(x); //查找大于等于 x 的元素中最小的一个,并返回指向该元素的迭代器。
a.upper_bound(x); //查找大于 x 的元素中最小的一个,并返回指向该元素的迭代器。
#include<iostream>
#include<algorithm>
#include<set>
using namespace std;
int main()
{set<int> a;a.insert(1);a.insert(3);a.insert(4);a.insert(5);a.insert(7);a.insert(9);a.insert(10);a.insert(26);a.insert(29);a.insert(40);set<int>::iterator it;it = a.lower_bound(5);cout<<"大于等于5的第一个值"<<"="<<*it<<endl;it = a.upper_bound(5);cout<<"大于5的第一个值"<<"="<<*it<<endl;return 0;  }

运行结果:

大于等于5的第一个值=5
大于5的第一个值=7

lower_bound()函数和upper_bound函数相关推荐

  1. C++中lower_bound函数和upper_bound函数

    STL中关于二分查找的函数有三个lower_bound .upper_bound .binary_search .这三个函数都运用于有序区间(当然这也是运用二分查找的前提),下面记录一下这两个函数. ...

  2. C语言bound函数,C++中lower_bound函数和upper_bound函数

    STL中关于二分查找的函数有三个lower_bound .upper_bound .binary_search .这三个函数都运用于有序区间(当然这也是运用二分查找的前提),下面记录一下这两个函数. ...

  3. upperbound找不到_lower_bound()函数和upper_bound()函数,以及二分查找

    lower_bound(): 默认版本 template ForwardIterator lower_bound (ForwardIterator first, ForwardIterator las ...

  4. C++ lower_bound 与 upper_bound 函数

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

  5. lower_bound()/upper_bound()函数(C++)

    文章目录 1.lower_bound()/upper_bound()函数简单介绍 2.lower_bound()/upper_bound()函数分析 3.lower_bound()/upper_bou ...

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

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

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

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

  8. oracle中的循环函数,Oracle日期函数和循环总结

    一,日期相关的函数 Select to_char(sysdate,'Q') from dual;--指定日期的季度 Select to_char(sysdate,'MM') from dual;--月 ...

  9. render函数和redirect函数的区别+反向解析

    render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象)   request对象:----->所有的请求 ...

最新文章

  1. idea svn的项目无法标识修改新增的类_是时候让你的 IDEA 飞起来啦!
  2. php键顺序初始化,Java类中各成员初始化的顺序
  3. Spring 基于Java配置
  4. 安卓高手之路之ClassLoader(三)
  5. ubuntu14.04 LTS 搜狗输入法安装和不能输入中文的解决方法
  6. C#中使用指针转换数据类型[C#/unsafe]
  7. html 手写字效果,canvas画布实现手写签名效果的示例代码
  8. java中string和int的相互转换
  9. iFrame can't save session cookie
  10. 201521145048 《Java程序设计》第3周学习总结
  11. 详解iOS开发之自定义View
  12. c语言画bode图程序,根据上位机测得的Bode图的幅频特性,就能确定系统(或环节)的相频特性,试问这在什么系统时才能实现?...
  13. 刚知道,qq聊天的时候可以这么装逼
  14. Energy python API 代码学习
  15. 两向量点乘坐标运算_向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读...
  16. 更实用 批量解析 Sanger 测序.ab1文件 出图出文本
  17. 百度paddle pahelix化合物分子和蛋白质氨基酸序列向量表示
  18. java添加窗体中_java中利用JFrame创建窗体 【转】
  19. 系统封装Win10专业版1803
  20. linux驱动开发之内核线程

热门文章

  1. C#-linq实战003-查询-Where
  2. 应聘/求职----上海IT公司红黑榜TOP100
  3. day68 Django--中间件
  4. 13 Django之中间件
  5. 青玉案.元夕-2023
  6. mysql5.7.10 二进制包_mysql 32 位安装教程mysql5.7 二进制包安装
  7. iphone开发笔记和技巧总结
  8. 为什么你得不到 90 度的温暖
  9. uedit php,laravel uedit上传oss
  10. 【腾讯云原生降本增效大讲堂】云原生混部技术标准解读