Breve historia, estoy implementando un gráfico y ahora estoy trabajando en el Kruskal, necesito una cola de prioridad. Mi definición de una cola de prioridad es que el elemento con la clave más pequeña vendría primero? ¿Esto esta mal? Porque cuando inserto los bordes pesados (o números) en la cola, no terminan ordenados.¿Cómo se supone que funciona la cola de prioridad de 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);
Eso imprimiría esto; [1, 54, 51, 102, 99, 55]. ¡Esto no está ordenado como quiero que lo sean! Y sí, formulé un compevor que entra en la cola de prioridad que extrae el número del objeto de borde y lo compara en función de ese int. Entonces, ¿debería funcionar o simplemente he entendido mal el concepto completo de cómo funciona esta estructura de datos?
para obtener el diseño ordenado debe usar 'while (! Tja.isEmpty()) { System.out.println (tja.poll()); } ' – serhii