lower_bound()和upper_bound( )函数详解
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。两个函数的用法类似,在一个左闭右开的有序区间里进行二分查找,需要查找的值由第三个参数给出。
这两个函数所需要的头指针
#include<algorithm>
lower_bound()和upper_bound( )函数是在一个排好序的数组中进行查找的,这两个函数默认在从小到大的数组中进行查找的,如果想要在从大到小的数组中进行查找是需要进行重载lower_bound()和upper_bound( )函数。
在升序的数组中查找
lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
在降序的数组中查找
lower_bound( begin,end,num,greater<type>() ):从数组的begin位置到end-1位置二分查找第一个小于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
upper_bound( begin,end,num,greater<type>() ):从数组的begin位置到end-1位置二分查找第一个小于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
#include<iostream>
#include<algorithm>
using namespace std;
int main(){int str[10]={4,1,6,9,2,5,6,2,3,6};int ans;sort(str,str+10);ans=upper_bound(str,str+10,6)-lower_bound(str,str+10,6);cout<<ans;return 0;
}
通过我的介绍希望大家对lower_bound()和upper_bound( )函数有所理解。
lower_bound()和upper_bound( )函数详解相关推荐
- C语言网络编程:accept函数详解
文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...
- 【FFmpeg】函数详解(三)
FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...
- 【FFmpeg】函数详解(二)
FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...
- 【FFmpeg】函数详解(一)
FFmpeg函数详解 一.错误码相关 1.AVERROR 2.av_strerror 3.其他错误码解释 二.编解码 1.获取编解码器 2.申请.释放上下文环境 3.打开编码器avcodec_open ...
- 【ES6】Generator函数详解
[ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...
- mysql的聚合函数综合案例_MySQL常用聚合函数详解
一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...
- python平方数迭代器_对python中的高效迭代器函数详解
python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...
- python基础知识~ 函数详解2
python~函数详解2 1 生成器函数 定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数 须知 yield和return一样,都可以返回数 ...
- scanf函数详解与缓冲区
1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...
最新文章
- 如何发表cscd核心论文_教育论文发表时几种核心期刊介绍
- 两个多精度十进制数加法程序设计_初中数学之有理数的加减,学会加法,减法即会,掌握技巧轻松计算...
- 应付账款账龄分析模板_超全的财务会计表单模板分享
- python 通过pip安装库 pycharm里面使用第三方库
- VMware终端用户计算的战略和愿景
- /etc/resolv.conf
- 、谷歌离线地图开发教程
- [系统安全]《黑客免杀攻防》逆向基础之经典脱壳基础
- 破解版极品飞车12免费下载 - 卧底风云(极道车神)
- 再问运费查询的具体实现问题
- V-REP 添加Vision Sensor与图像获取 | V-REP Adding Vision Sensor and Image Acquisition
- c语言小球碰壁,小球碰壁效果
- 007 锁存器和触发器
- ruby on rails_如何将刺激添加到Ruby on Rails应用程序
- splice和sendfile
- 网易云音乐小程序登录接口显示400,拥挤问题解决
- 小白:从0开始捣鼓Ubuntu(中文输入法)
- copilot 让AI帮你编程(人工智能自动完成)
- 什么是链接?(动态链接库和静态链接库的对比)
- python菜鸟教程学习:数据结构
热门文章
- 极光将赴美上市,哈米宣布倒闭,然:又有8家公司拿到融资!
- 小程序开发外包费用一般是多少?
- modeller建模
- 【实验2 选择结构】7-2 sdut-C语言实验——整除
- 动易html在线编辑器 漏洞,动易NewComment.asp注入漏洞
- 痞子衡嵌入式:飞思卡尔Kinetis开发板OpenSDA调试器那些事(上)- 背景与架构
- STM32配置CH375B成HID Host模式读取自定义HID设备的数据 ——STM32配置CH375B接口函数
- 努努小说通用爬取——多线程
- 基于C语言在8×8点阵实现9到0倒计时牌显示
- bga焊盘怎么做_焊接焊盘和BGA设计规则