在这里看到的 PriorityVertex 类型是什么?我也在写一个 getMinSpanningTree 方法。
问问题
49 次
1 回答
0
此PriorityVertex
示例中的 只是提问者创建的一个类。它是图中顶点的简单实现。
这个类实现了Comparable
接口。原因是PriorityQueue
必须比较它的元素。这可以通过两种方式实现:
- 元素必须要么实现
Comparable
接口 - 或者必须将a
Comparator
传递给PriorityQueue
,它告诉队列如何比较元素。
所以这个PriorityVertex
类大致如下所示:
class PriorityVertex implements Comparable<PriorityVertex>
{
private float priority;
// Setters, getters ... whatever the vertex needs
...
// Implementation of the Comparable interface:
@Override
public int compareTo(PriorityVertex other)
{
return Float.compare(this.priority, other.priority);
}
}
于 2014-05-10T15:56:03.857 回答