Package com.badlogic.gdx.utils
Class BinaryHeap<T extends BinaryHeap.Node>
- java.lang.Object
-
- com.badlogic.gdx.utils.BinaryHeap<T>
-
public class BinaryHeap<T extends BinaryHeap.Node> extends java.lang.Object
A binary heap that stores nodes which each have a float value and are sorted either lowest first or highest first. TheBinaryHeap.Node
class can be extended to store additional information.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BinaryHeap.Node
A binary heap node.
-
Field Summary
Fields Modifier and Type Field Description int
size
-
Constructor Summary
Constructors Constructor Description BinaryHeap()
BinaryHeap(int capacity, boolean isMaxHeap)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
add(T node)
Adds the node to the heap using its current value.T
add(T node, float value)
Sets the node's value and adds it to the heap.void
clear()
boolean
contains(T node, boolean identity)
Returns true if the heap contains the specified node.boolean
equals(java.lang.Object obj)
int
hashCode()
boolean
isEmpty()
Returns true if the heap is empty.boolean
notEmpty()
Returns true if the heap has one or more items.T
peek()
Returns the first item in the heap.T
pop()
Removes the first item in the heap and returns it.T
remove(T node)
void
setValue(T node, float value)
Changes the value of the node, which should already be in the heap.java.lang.String
toString()
-
-
-
Method Detail
-
add
public T add(T node)
Adds the node to the heap using its current value. The node should not already be in the heap.- Returns:
- The specified node.
-
add
public T add(T node, float value)
Sets the node's value and adds it to the heap. The node should not already be in the heap.- Returns:
- The specified node.
-
contains
public boolean contains(T node, boolean identity)
Returns true if the heap contains the specified node.- Parameters:
identity
- If true, == comparison will be used. If false, .equals() comparison will be used.
-
peek
public T peek()
Returns the first item in the heap. This is the item with the lowest value (or highest value if this heap is configured as a max heap).
-
pop
public T pop()
Removes the first item in the heap and returns it. This is the item with the lowest value (or highest value if this heap is configured as a max heap).
-
notEmpty
public boolean notEmpty()
Returns true if the heap has one or more items.
-
isEmpty
public boolean isEmpty()
Returns true if the heap is empty.
-
clear
public void clear()
-
setValue
public void setValue(T node, float value)
Changes the value of the node, which should already be in the heap.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-