如何在 c++ 中创建对的优先级队列.这会弹出具有最小值的元素.默认的弹出最大值


priority_queue < pair < long long int,pair <long long int ,long long int > > > pq;

在这一行代码中,我想在第一个long long int的基础上形成一个priority_queue

队列会弹出最小元素。

std::p riority_queue 模板允许您指定满足比较要求的类型:

typedef mypair pair<long long int, pair<long long int, long long int> >;
std::priority_queue<mypair,
std::vector<mypair>,
std::greater<mypair> > pq;

如果你所需要的只是颠倒顺序,你可以 std::greater 而不是默认的 std::less。在需要更复杂的比较函数的情况下,您可以实现自己的比较函数。

最新更新