Dijkstra Algorithmus implementieren, Priority Queue nach den geringsten Kosten in der Queue sortieren?
Also ich möchte meine queue so sortieren, dass die Kosten der Knoten die in der Queue sind, aufsteigend sind. meine Klasse Node implementiert Comparable<Node>,dadurch wäre man in der Lage nach kosten zu vergleichen, aber nicht gleich zu sortieren,
so und meine Frage wäre jetzt wie ich die elemente innerhalb der Queue sortiere, denn was ich grad nur versuche ist das Element mit den geringsten Kost en zu ermitteln und das dann auf nen Node abspeichern, aber ich denke das ha t den sinn der priority queue verfehlt
private static Node decideNextMarked(PriorityQueue<Node> queue) {
Node bestOption = null;
if (queue.size() > 1) {
for (Node possibleCandidate : queue) {
for (Node comparison : queue) {
switch (possibleCandidate.compareTo(comparison)) {
case -1:
bestOption = possibleCandidate;
case 1:
bestOption = comparison;
case 0:
}
}
}
}
return bestOption;
}
was ich noch mache ist beim einfügen der Kosten in das int[] distance, die Nodes der queue hinzufügen die in der unvisited (ArrayList<Node>) drin sind