プライオリティ キューのカスタム実装を含む大学の課題を行っています。キュー内の各アイテムはNode<E>
、要素とその優先度 (E、p) を格納するものになります。全体的なフィールドは型であることを意図してArrayList<Node<?>>
おり、3 つの実装は -
アイテムが最後に追加され、最も長くキューにあった最も優先度の高いものによって削除される、並べ替えられていないキュー - タイプ
ArrayList<Node<String>>
アイテムがキューの先頭から削除され、次に低い優先度の最初のアイテムの前に追加されるソートされたキュー - したがって、優先度 2 の何かが優先度 1 と 3 のアイテムの間に追加されます。
ArrayList<Node<String>>
各 Node 要素が同じ優先度を持つアイテムの配列リストである Queues の並べ替えられたキュー - type
ArrayList<Node<ArrayList<String>>>
それぞれに独自のエンキュー、デキューなどのメソッドがあります。
アプリケーションの同じフィールドに対応するプライオリティ キューの 3 つの実装すべてで動作する単一のメソッドを定義でき、フィールドの定義に応じて呼び出されるキュー タイプのそれぞれのエンキュー メソッドを定義できるかどうか疑問に思っていました。 .