C++ STL中的 lower_bound() 和 upper_bound()
来源:互联网 发布:天刀捏脸数据怎么替换 编辑:程序博客网 时间:2024/06/05 09:13
函数作用
iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。
iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。
http://blog.csdn.net/niushuai666/article/details/6734403
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置
举例如下:(有序数组)
一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标
则
pos = lower_bound( number, number + 8, 3) - number,pos = 0.即number数组的下标为0的位置。
pos = lower_bound( number, number + 8, 9) - number, pos = 1,即number数组的下标为1的位置(即10所在的位置)。
pos = lower_bound( number, number + 8, 111) - number, pos = 8,即number数组的下标为8的位置(但下标上限为7,所以返回最后一个元素的下一个元素)。
所以,要记住:函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置,且last的位置是越界的!!~
返回查找元素的第一个可安插位置,也就是“元素值>=查找值”的第一个元素的位置
int a[10];
int *t = lower_bound(a,a+n,key) ; //在数组a中查找keyint post = t-a; // t-a 代表key所在下标
- STL中的lower_bound() 和 upper_bound()
- stl中的upper_bound和lower_bound
- C++ STL中的 lower_bound() 和 upper_bound()
- 手动实现stl中的lower_bound和upper_bound
- STL:map中的lower_bound和upper_bound
- stl lower_bound 和 upper_bound
- STL lower_bound和upper_bound
- [STL] lower_bound和upper_bound
- [C++] upper_bound和lower_bound
- C++ STL lower_bound 和 upper_bound
- STL----lower_bound和upper_bound算法
- STL中的二分查找--lower_bound/upper_bound/binary_search
- STL中的二分查找,lower_bound();与upper_bound();
- 浅谈STL中的二分lower_bound()与upper_bound()
- STL: lower_bound, upper_bound用法(C++)
- C++STL算法lower_bound、upper_bound、equal_range
- STL源码学习----lower_bound和upper_bound算法
- STL源码学习----lower_bound和upper_bound算法
- java web从零单排第十七期《struts2》数据标签库(1)
- 工作流入门
- Win7下VMware虚拟CentOS的网络配置
- hdu-1262-寻找素数对
- OA 知识管理树
- C++ STL中的 lower_bound() 和 upper_bound()
- linux--字符集--解决SecureCRT中文显示乱码
- LUA简单调用
- Struts2 高危漏洞修复方案 (S2-016/S2-017)
- 用C语言实现线性表的顺序存储结构
- 负载均衡相关文章
- 做个小牛人。
- “万能数据库查询分析器”5.04 发布,撰写的相关技术文章达63篇
- 1.2.8 数据完整性和触发器概述