Я добавляю ребра в PriorityQueue, но по какой-то причине они не сортируются по их значению, что приводит к ошибочному результату позже.
Мой класс ребер выглядит так
class Edge implements Comparable<Edge>{
int value;
String dest;
String start;
public Edge(String start, String dest, int g) {
this.dest = dest;
value = g;
this.start = start;
}
@Override
public int compareTo(Edge o) {
int temp = value - o.value;
if (temp > 0) {
return 1;
}
if (temp < 0) {
return -1;
}
return 0;
}
Тем не менее, когда я запускаю свой код, где я добавляю addAll в LinkedList, принадлежащий узлу "Springfield, MO" к PriorityQueue, края сортируются в неправильном порядке, как показано ниже, в чем проблема?
queue.addAll(list.get(node));
![enter image description here](https://i.stack.imgur.com/3EiSS.png)
Я попытался создать специальный класс компаратора для Edge и использовать его в качестве параметра в PriorityQueue, но я все еще получаю тот же результат.