头文件:<algorithm>
二分查找的函数有3个。
它们三个都接收三个参数(起始地址begin、结束地址last,值val);都是左闭右开,也就是包含begin、不包含last;支持vector,也支持C风格的普通数组,如果是vector则用迭代器(begin()、end()),数组则直接用地址(arr、arr+size)。
lower_bound
返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置。
注意:如果所有元素都小于val,则返回last的位置,且last的位置是越界的!!
upper_bound
区别于lower_bound,该函数返回大于val的第一个元素位置。
binary_search
存在val则返回true,否则返回false。