lower_bound()就是返回一个在[first,last)标记的有序序列中不小于value的那个值的下标。
我喜欢用无数个例子来理解想弄懂的东西。eg:2 4 6 8 10 11 20
若要插入3 7 10,则
pos=lower_bound(num,num+7,3)-num;pos=1;
pos=lower_bound(num,num+7,7)-num;pos=3;
pos=lower_bound(num,num+7,10)-num;pos=4;
就是这样滴=。=
需要注意以下几点:1.原数列必须是有序的。
2.返回值是下标,而不是值本身。
3.lower_bound的使用方法:pos=lower_bound(tem,tem+n,value)-tem;常用于离散化某一数组。
4.头文件为#include<algorithm>
再来个例子吧here