Рассказ, я реализую график, и теперь я работаю над Kruskal, мне нужна очередь приоритетов. Мое определение очереди с приоритетом заключается в том, что первый элемент будет первым? Это неправильно? Потому что, когда я вставляю взвешенные ребра (или числа) в очередь, они не сортируются.Как должна работать очередь приоритетов Java?
PriorityQueue<Integer> tja = new PriorityQueue<Integer>();
tja.add(55);
tja.add(99);
tja.add(1);
tja.add(102);
tja.add(54);
tja.add(51);
System.out.println(tja);
Это напечатало бы это; [1, 54, 51, 102, 99, 55]. Это не отсортировано, как я хочу, чтобы они были! И да, я сделал компилятор, который входит в очередь приоритетов, которая извлекает число из краевого объекта и сравнивается на основе этого int. Так что это должно сработать, или я просто полностью не понял всю концепцию того, как эта структура данных работает?
Чтобы получить отсортированный макет, вы должны использовать 'while (! Tja.isEmpty()) { System.out.println (tja.poll()); } ' – serhii