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

How to create a priority queue of pairs in c++. Which pops the element with min value. The default one pops max

本文关键字:最小值 最大值 默认 元素 队列 c++ 创建 优先级      更新时间:2023-10-16
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。在需要更复杂的比较函数的情况下,您可以实现自己的比较函数。