multiset lower_bound迭代器的位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了multiset lower_bound迭代器的位置相关的知识,希望对你有一定的参考价值。

假设我有一个多集A = {0,1,1,1,2}。如果执行以下操作:

multiset<int>::iterator it = A.lower_bound(2)

它返回一个迭代器。我可以轻松打印它的价值。但有没有办法知道它的立场?我的意思是它将返回4。

答案

使用std::distance

#include <iterator>
#include <set>

int main() 
{
    multiset<int> A = { 0, 1, 1, 1, 2 };
    multiset<int>::iterator it = A.lower_bound( 2 );
    size_t dist = distance( A.begin(), it );
}

以上是关于multiset lower_bound迭代器的位置的主要内容,如果未能解决你的问题,请参考以下文章

unordered_set map multist multimap

ZOJ 3963 Heap Partition(multiset + stl自带二分 + 贪心)题解

std::unordered_multiset 的用例

UVA11136Hoax or what( multiset的应用)

C++ 中的 lower_bound()

STL——容器(Set & multiset)的迭代器