C++ STL中的multimap value_comp()函数
multimap::value_comp() 方法返回一个比较对象,可用于比较两个元素以得到第一个键是否在第二个键之前。此处第一个对象比较类型为 std::multimap::type 。此函数对象所取的参数是成员类型 type 。它在 multimap 中定义为 pair 的别名。
语法:
multimap::compared_value value_comp() const;
在这里, compared_value 是嵌套类类型。
参数: 不接受任何参数。
返回值: 此方法返回 comparison object ,它是成员类型 multimap::compared_value的对象,它是一个使用内部比较对象生成适当比较功能类的嵌套类。下面的程序说明了multimap value_comp()函数:
// C++程序展示了
// multimap::value_comp的用法
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<char, int> m;
// 产生一个数组
m.insert(make_pair('a', 10));
m.insert(make_pair('b', 20));
m.insert(make_pair('c', 30));
m.insert(make_pair('d', 40));
pair<char, int> p = *m.rbegin();
// 最后一个元素
multimap<char, int>::iterator i = m.begin();
do {
cout << (*i).first
<< " = " << (*i).second
<< '\n';
} while (m.value_comp()(*i++, p));
return 0;
}
输出:
a = 10
b = 20
c = 30
d = 40
时间复杂度: O(1)