Package dsa.lab09.base
Interface PriorityQueue<Priority extends Comparable<Priority>,Item>
- Type Parameters:
Priority
- the priority typeItem
- the item type
- All Superinterfaces:
Container<PriorityQueueItem<Priority,
,Item>> Iterable<PriorityQueueItem<Priority,
Item>>
- All Known Implementing Classes:
ArrayPriorityQueue
,ArrayPriorityQueue
,BinaryHeapPriorityQueue
,BinaryHeapPriorityQueue
,SortedArrayPriorityQueue
,SortedArrayPriorityQueue
public interface PriorityQueue<Priority extends Comparable<Priority>,Item>
extends Container<PriorityQueueItem<Priority,Item>>
A priority queue.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
PriorityQueue.ItemIterator<Priority extends Comparable<Priority>,
Item> An iterator over the items in a priority queue. -
Method Summary
Modifier and TypeMethodDescriptionvoid
insert
(PriorityQueueItem<Priority, Item> item) Insert the given prioritised item.default void
Insert the given prioritised item.items()
Get a forward iterable that yields each prioritised item once.Get a reverse iterable that yields each item once.max()
Get the item with the greatest priority.Remove the item with the greatest priority.reversed()
Get a reverse iterable that yields each prioritised item once.Get a reverse iterable that yields each item once.Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
max
PriorityQueueItem<Priority,Item> max()Get the item with the greatest priority.- Returns:
- the maximum priority item, or
null
if empty
-
insert
Insert the given prioritised item.- Parameters:
item
- the prioritised item
-
insert
Insert the given prioritised item.- Parameters:
priority
- the priorityitem
- the item
-
removeMax
PriorityQueueItem<Priority,Item> removeMax()Remove the item with the greatest priority.- Returns:
- the maximum priority item, or
null
if empty
-
items
Iterable<PriorityQueueItem<Priority,Item>> items()Get a forward iterable that yields each prioritised item once.The items are iterated over in max-to-min order (by priority).
- Specified by:
items
in interfaceContainer<Priority extends Comparable<Priority>>
- Returns:
- an iterable over the prioritised items
-
reversed
Iterable<PriorityQueueItem<Priority,Item>> reversed()Get a reverse iterable that yields each prioritised item once.The items are iterated over in min-to-max order (by priority).
- Returns:
- an iterable over the prioritised items
-
itemsOnly
Get a reverse iterable that yields each item once.The items are iterated over in max-to-min order (by priority).
- Returns:
- an iterable over just the items (not the priorities)
-
reversedItemsOnly
Get a reverse iterable that yields each item once.The items are iterated over in min-to-max order (by priority).
- Returns:
- an iterable over just the items (not the priorities)
-