upper_bound 和lower_bound是二分查找,所以效率略高,但笔者在使用的时候发现偶尔会有一些问题,所以写了这篇文章,总结了一发。
首先,最形象的一句话:
upper_bound(i) 返回的是键值为i的元素可以插入的最后一个位置(上界)
lowe_bound(i) 返回的是键值为i的元素可以插入的位置的第一个位置(下界)。
怎么理解呢,举例:
在升序的set里面
set里没有元素i的时候,两个元素的返回值是一样的。
1 2 4 5 这个序列,upp(3)和low(3)都返回位置2(下标)
如果只有一个元素i,low返回那个元素的位置,而upp返回那个元素的位置的后一个位置。
1 2 4 5 这个序列upp(2)返回下标2而low(2)返回下标1
多个元素i,low返回那个元素的位置,upp返回那多个元素中的最后一个的后一个位置。
1 2 2 4 5 这个序列 upp(2)返回下标3的位置,low(2)返回下标1的位置。
!!!!!!!!!!!&#