当我们在多个集合中插入元素时,它们是按排序顺序插入的。
我怎样才能找到mutiset的最小元素?
如何在mutiset中访问ith元素?
有人可以解释multiset如何工作以及如何在其中存储元素?
提前致谢。
答案 0 :(得分:2)
这是一个始终有效的解决方案(无论订购方案如何):
std::multiset<int> m;
//do something with m
std::cout<<*std::min_element(m.begin(),m.end())<<std::endl;
那应该是O(n),因此它不会影响multiset存储方案已经排序的性质。
访问&#34; i-th&#34;元素:
std::cout<<*std::next(m.begin(),i-1)<<std::endl;
但是,&#34; i-th element&#34;是什么意思?由您的订购方案决定。
好的,当您的订购方案由std::less
- 标准案例 - 然后确实
m.begin();
为您提供最小元素。您可以阅读here。