继续做笔记,有序向量vector的search算法:在有序向量中(即v.sort()之后),通过查找一个值,返回这个值的pos(命中值有多个时,返回最后的那个pos),若该值不存在,则返回小于该值的最后一个元素的pos(包含哨兵[lo-1])。
int mybinsearch(vector<int>& v, int const& e, int lo,int hi){
while (lo < hi){
int mi = (lo + hi) >> 1;
(e < v[mi]) ? hi = mi : lo = mi + 1;
}
return --lo;//返回所搜索值的前一个pos
}