ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)
返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)
返回一个非递减序列[first, last)中第一个大于val的位置。
直观上,如下图所示,如果 val = 2,则情况如下
如果 val = 4,由于没有值等于 4 的元素,则两者均返回大于 4 的第一个元素,如下
如果 val = 5,如下
如果 val = 6,则两者均找不不到