📅  最后修改于: 2023-12-03 14:39:51.396000             🧑  作者: Mango
在 C++ STL 中,multiset 是一个允许存储多个相同元素的容器。equal_range() 函数可以用来查找指定元素的区间位置。
pair<const_iterator,const_iterator> equal_range( const Key& key ) const;
#include <iostream>
#include <set>
using namespace std;
int main()
{
multiset<int> myset;
myset.insert(40);
myset.insert(30);
myset.insert(60);
myset.insert(20);
myset.insert(10);
myset.insert(50);
myset.insert(30);
myset.insert(40);
auto range = myset.equal_range(30);
cout << "key range: ";
for (auto i = range.first; i != range.second; ++i)
cout << *i << ' ';
cout << endl;
return 0;
}
输出结果为:
key range: 30 30
这里我们定义一个 multiset 对象 myset,然后向其中依次添加了一些整型元素。接着使用 equal_range() 函数找到键值等于 30 的元素并输出。由于我们先后向 multiset 中添加了两个键值为 30 的元素,因此输出结果也会有两个元素。