多重集 lower_bound 迭代器的位置
Position of a multiset lower_bound iterator
假设,我有一个多重集 A = {0, 1, 1, 1, 2}。如果a做如下操作:
multiset<int>::iterator it = A.lower_bound(2)
它return是一个迭代器。我可以很容易地打印出它的价值。但是有什么办法可以知道它的位置呢?我的意思是它会 return 4.
#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 );
}
假设,我有一个多重集 A = {0, 1, 1, 1, 2}。如果a做如下操作:
multiset<int>::iterator it = A.lower_bound(2)
它return是一个迭代器。我可以很容易地打印出它的价值。但是有什么办法可以知道它的位置呢?我的意思是它会 return 4.
#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 );
}