lower_bound()和upper_bound()函数都是algorithm头文件下的函数,需要用在一个有序数组或容器中
lower_bound(first,last,val):用来寻找在数组或容器的[first, last)范围内第一个值大于等于val元素的位置。如果是数组,则返回该位置的指针;如果是容器,则返回该位置的迭代器
upper_bound(first,last,val):用来寻找在数组或容器的[first,last)范围内第一个值大于val的元素的位置。如果是数组,则返回该位置的指针;如果是容器,则返回该位置的迭代器
如果数组或容器中没有需要寻找的元素,则lower_bound()和upper_bound()均返回可以插入该元素的位置的指针和迭代器(即假设存在该元素时,该元素应当在的位置)
复杂度:O(log(last-first))