Interface DoubleHeap
-
- All Known Implementing Classes:
DoubleMaxHeap
,DoubleMinHeap
public interface DoubleHeap
Basic in-memory heap for double values.This class is generated from a template.
- Since:
- 0.5.5
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
DoubleHeap.UnsortedIter
Unsorted iterator - in heap order.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(double key)
Add a key-value pair to the heapvoid
add(double key, int max)
Add a key-value pair to the heap, except if the new element is larger than the top, and we are at design size (overflow)void
clear()
Delete all elements from the heap.boolean
isEmpty()
Is the heap empty?double
peek()
Get the current top keydouble
poll()
Remove the first elementdouble
replaceTopElement(double e)
Combined operation that removes the top element, and inserts a new element instead.int
size()
Query the sizeDoubleHeap.UnsortedIter
unsortedIter()
Get an unsorted iterator to inspect the heap.
-
-
-
Method Detail
-
add
void add(double key)
Add a key-value pair to the heap- Parameters:
key
- Key
-
add
void add(double key, int max)
Add a key-value pair to the heap, except if the new element is larger than the top, and we are at design size (overflow)- Parameters:
key
- Keymax
- Maximum size of heap
-
replaceTopElement
double replaceTopElement(double e)
Combined operation that removes the top element, and inserts a new element instead.- Parameters:
e
- New element to insert- Returns:
- Previous top element of the heap
-
peek
double peek()
Get the current top key- Returns:
- Top key
-
poll
double poll()
Remove the first element- Returns:
- Top element
-
clear
void clear()
Delete all elements from the heap.
-
size
int size()
Query the size- Returns:
- Size
-
isEmpty
boolean isEmpty()
Is the heap empty?- Returns:
true
when the size is 0.
-
unsortedIter
DoubleHeap.UnsortedIter unsortedIter()
Get an unsorted iterator to inspect the heap.- Returns:
- Iterator
-
-