手动实现stl中的lower_bound和upper_bound
来源:互联网 发布:虐杀原形1mac版下载 编辑:程序博客网 时间:2024/06/07 01:08
lower_bound和upper_bound是algorithm库中特别实用的两个函数,前者的作用是返回有序队列不小于x的第一个编号,后者则是返回大于x的第一个编号。
如{0,1,2,2,2,3}数组,用 lower_bound的返回值是2(第一个2),用upper_bound的返回值是5(第一个3)。
手动实现也非常的简单下面附代码。
#include<cstdio>#include<iostream>using namespace std;const int maxn=1000;int a[maxn]={0,1,2,2,2,3};int lower_bound(int l,int r,int mu){ while(l<r) { int mid=(l+r)/2;if(a[mid]>=mu){r=mid;}else{l=mid+1;} } return l;}int upper_bound(int l,int r,int mu){ while(l<r) { int mid=(l+r+1)/2;if(a[mid]<=mu){l=mid;}else{r=mid-1;} } return l+1;}int main(){cout<<lower_bound(1,5,2)<<endl;cout<<upper_bound(1,5,2)<<endl;return 0;}
- 手动实现stl中的lower_bound和upper_bound
- STL中的lower_bound() 和 upper_bound()
- stl中的upper_bound和lower_bound
- C++ 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
- 自己实现STL模板upper_bound() 和lower_bound()
- stl lower_bound,upper_bound的实现;
- C++ STL lower_bound 和 upper_bound
- STL----lower_bound和upper_bound算法
- 实现lower_bound和upper_bound算法
- STL中的二分查找--lower_bound/upper_bound/binary_search
- STL中的二分查找,lower_bound();与upper_bound();
- 浅谈STL中的二分lower_bound()与upper_bound()
- lower_bound upper_bound的简单实现(STL)
- STL源码学习----lower_bound和upper_bound算法
- 如何创建不规则窗体
- squid介绍及其简单配置
- 基于Visual C++2013拆解世界五百强面试题--题5-自己实现strstr
- win32 api获取逻辑处理器信息
- Java MVC框架性能比较(转)
- 手动实现stl中的lower_bound和upper_bound
- debian 安装声卡驱动(Realtek alc887_vd)
- Android 在一个程序中启动另一个程序和启动另一个程序的服务
- java IO
- 通向架构师的道路(第九天)之weblogic的集群与配置
- 设计模式- iOS响应者链
- TX网络加速器 安全稳定 延迟低
- vim插件集合(不定时更新)
- 跨时钟域的处理