短編小説、私はグラフを実装していますが、今では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,4,51,102,99,55]。これは、私がそれらが欲しいのと同じようにソートされていません!そして、はい、私はエッジオブジェクトから番号を抽出し、そのintに基づいて比較する優先順位キューに入るcomperatorを作った。これはうまくいくはずですか、あるいは私はこのデータ構造の仕組みの全体概念を完全に誤解していますか?
ソートされたレイアウトを取得するには、 'while(!tja.isEmpty()){ System.out.println(tja.poll());を使用する必要があります。 } ' – serhii