Package dsa.lab09.solutions
Class SortedArrayPriorityQueue<Priority extends Comparable<Priority>,Item>
java.lang.Object
dsa.lab09.solutions.SortedArrayPriorityQueue<Priority,Item>
- Type Parameters:
Priority- the priority typeItem- the item type
- All Implemented Interfaces:
Container<PriorityQueueItem<Priority,,Item>> PriorityQueue<Priority,,Item> Iterable<PriorityQueueItem<Priority,Item>>
public class SortedArrayPriorityQueue<Priority extends Comparable<Priority>,Item>
extends Object
implements PriorityQueue<Priority,Item>
A sorted array priority queue.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dsa.lab09.base.PriorityQueue
PriorityQueue.ItemIterator<Priority extends Comparable<Priority>,Item> -
Constructor Summary
ConstructorsConstructorDescriptionConstruct an empty sorted array priority queue.SortedArrayPriorityQueue(PriorityQueueItem<Priority, Item>... items) Construct a sorted array priority queue containing the given items.Construct a sorted array priority queue containing the given items.SortedArrayPriorityQueue(Iterable<PriorityQueueItem<Priority, Item>> items, int size) Construct a sorted array priority queue containing the given items more efficiently thanSortedArrayPriorityQueue(Iterable). -
Method Summary
Modifier and TypeMethodDescriptionvoidinsert(PriorityQueueItem<Priority, Item> item) Insert the given prioritised item.items()Get a forward iterable that yields each prioritised 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.intsize()Get the number of contained items.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface dsa.lab09.base.PriorityQueue
insert, itemsOnly, reversedItemsOnly
-
Constructor Details
-
SortedArrayPriorityQueue
public SortedArrayPriorityQueue()Construct an empty sorted array priority queue. -
SortedArrayPriorityQueue
Construct a sorted array priority queue containing the given items.- Parameters:
items- the items
-
SortedArrayPriorityQueue
public SortedArrayPriorityQueue(Iterable<PriorityQueueItem<Priority, Item>> items, int size) throws IllegalArgumentExceptionConstruct a sorted array priority queue containing the given items more efficiently thanSortedArrayPriorityQueue(Iterable).- Parameters:
items- the itemssize- the number of items- Throws:
IllegalArgumentException- ifsize!=n(wherenisitems's size)
-
SortedArrayPriorityQueue
Construct a sorted array priority queue containing the given items.- Parameters:
items- the items
-
-
Method Details
-
size
public int size()Description copied from interface:ContainerGet the number of contained items.- Specified by:
sizein interfaceContainer<Priority extends Comparable<Priority>>- Returns:
- the size
-
max
Description copied from interface:PriorityQueueGet the item with the greatest priority.- Specified by:
maxin interfacePriorityQueue<Priority extends Comparable<Priority>,Item> - Returns:
- the maximum priority item, or
nullif empty
-
insert
Description copied from interface:PriorityQueueInsert the given prioritised item.- Specified by:
insertin interfacePriorityQueue<Priority extends Comparable<Priority>,Item> - Parameters:
item- the prioritised item
-
removeMax
Description copied from interface:PriorityQueueRemove the item with the greatest priority.- Specified by:
removeMaxin interfacePriorityQueue<Priority extends Comparable<Priority>,Item> - Returns:
- the maximum priority item, or
nullif empty
-
items
Description copied from interface:PriorityQueueGet a forward iterable that yields each prioritised item once.The items are iterated over in max-to-min order (by priority).
- Specified by:
itemsin interfaceContainer<Priority extends Comparable<Priority>>- Specified by:
itemsin interfacePriorityQueue<Priority extends Comparable<Priority>,Item> - Returns:
- an iterable over the prioritised items
-
reversed
Description copied from interface:PriorityQueueGet a reverse iterable that yields each prioritised item once.The items are iterated over in min-to-max order (by priority).
- Specified by:
reversedin interfacePriorityQueue<Priority extends Comparable<Priority>,Item> - Returns:
- an iterable over the prioritised items
-