【发布时间】:2011-05-15 22:18:19
【问题描述】:
有一个pair
pair <string, int> myPair;
我有一个 vector 的 myPair 对象。我需要在pair 的第二个值(即整数)上使用make_heap 将其转换为最小堆。我怎样才能做到这一点?我不确定如何定义比较操作。
I know I need something like this for heap to operate. But not sure where to put it:
bool operator< (const Pair& p1, const Pair& p2) const
{
return p1.second < p2.second;
}
【问题讨论】:
-
你试过什么?比较操作通常只是一个简单的函数,接受两个对参数,然后返回通常的 0-
-
不,不是
operator<,而是可以像函数一样调用的结构。请看我的回答。