stimmt, sortieren könnte man auch, das Erstellen des Heaps kostet ja sowieso O(n * log(n)) Vergleiche.
Bei Dijkstra hätte ein Heap auch nicht schaden können, C++ bietet diesen bereits in Form von std:

riority_queue<T>, Java hat das aber nicht am Start, oder?