upper_bound()和lower_bound()操作,stl库
Posted 要坚持写博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了upper_bound()和lower_bound()操作,stl库相关的知识,希望对你有一定的参考价值。
利用的是二分查找。
lower_bound(l,r,x)和upper_bound(l,r,x)。
l 起始地址
r 结束地址
x 要查找的数值
返回值low_bound()返回大于或等于x的第一个元素位置。如果所有元素都小于x,则返回r的位置(地址).如果所有元素都小于x,则r就越界了。
函数upper_bound()返回的在前闭后开区间查找的关键字的上界,返回大于x的第一个元素位置(地址)。后面和第一个类似。
使用时:
int d[1000010];
int w=upper_bound(d+1,d+len+1,a[i])-d;
//特别记得后面要减那个数组(即初始地址)
以上是关于upper_bound()和lower_bound()操作,stl库的主要内容,如果未能解决你的问题,请参考以下文章
stl map中的lower_bound和 upper_bound
Java实现 lower_bound() 和 upper_bound()
关于lower_bound( )和upper_bound( )的常见用法