以下代码有何作用?
for (i = 1; i <= n; i++)
v[i] = std::lower_bound(prim+1, prim+h+1, val[i]) - prim;
prim
,v
和val
是整数向量。
答案 0 :(得分:2)
我认为你的描述是错误的,prim
是迭代器或指针而不是向量。
该行取回lower_bound
的返回值,它与迭代器的类型相同,并减去该迭代器。这为您提供了prim
引用的容器的索引。
答案 1 :(得分:0)
您应该首先阅读lower_bound函数的作用:http://www.cplusplus.com/reference/algorithm/lower_bound/
在这种情况下,对于向量v []中的每个元素v [i],我们找到一个向量的prim []索引k,其中最低值为prim [k]&gt; = val [i]。