algorithm - std::priority_queue 接受 2 个参数(对于 Djikistra 算法)

标签 algorithm declaration graph-theory graph-algorithm priority-queue

我正在使用 Djikistra 算法,这是我第一次实现它。 但我不知道如何使用两个参数声明priority_queue。
对于1个参数(min-priority_queue)我可以轻松做到:

priority_queue<int,std::vectors<int>,std::greater> >

最佳答案

使用 std::pair,其中第一个是距离,第二个是顶点数。

typedef std::pair<int, int> pii;
std::priority_queue<pii, std::vector<pii>, std::greater<pii> > dijkstra_queue;

关于algorithm - std::priority_queue 接受 2 个参数(对于 Djikistra 算法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14874916/

相关文章:

java - 线性列优先数组数据到行优先的转换

c++ - 具体卡牌组合指数如何计算

ruby - 算法 - 最长摆动子序列

perl - 如何将哈希传递给 Perl 中的函数?

algorithm - 大小为 N 的套装,每对之间有 1 个共同项

c - C 代码中的意外输出

javascript - 在 JavaScript 中声明多个变量

java - Java中具有大量节点和边的最大流算法太慢

python - 基于边缘属性/权重的图论距离度量和其他度量

graph-theory - 二分最小边