lower_bound和upper_bound

What's this

这是一个\(stl\)函数,功能是二分查找。他可以让我们不手写二分,简化代码量,不易出错(你也可以手写)

How do you use it?

  1. \(lower\_bound\): 查找第一个大于等于x的数组下标
  2. \(upper\_bound\):查找第一个大于x的数组下标

\(eg:\)
当数列为1,2,3,4,5,6时
\(lower\_bound(2)=2\),\(upper\_bound(2)=3\)
当数列为1,2,2,4,5,6时
\(lower\_bound(2)=2\),\(upper\_bound(2)=4\)

注意上面的是伪代码,实际代码中不能这么写,应该写
lower_bound(a+1,a+1+n,x)-a
upper_bound(a+1,a+1+n,x)-a
表示在a数组中\([1,n+1)的区间二分查找\)

posted @ 2018-11-08 20:44  撤云  阅读(266)  评论(0编辑  收藏  举报
……