BalancedTree
BalancedTree allows key-value mapping with arbitrary keys, as long as they
can be ordered. By default, Reflect.compare
is used in the compare
method, which can be overridden in subclasses.
Operations have a logarithmic average and worst-case cost.
Iteration over keys and values, using keys
and iterator
respectively,
are in-order.
Instance Members
set(key: haxe.ds.BalancedTree.K, value: haxe.ds.BalancedTree.V): Void
Binds key
to value
.
If key
is already bound to a value, that binding disappears.
If key
is null, the result is unspecified.
Name | Type |
---|---|
key |
haxe.ds.BalancedTree.K |
value |
haxe.ds.BalancedTree.V |
get(key: haxe.ds.BalancedTree.K): Null<haxe.ds.BalancedTree.V>
Returns the value key
is bound to.
If key
is not bound to any value, null
is returned.
If key
is null, the result is unspecified.
Name | Type |
---|---|
key |
haxe.ds.BalancedTree.K |
Returns |
---|
Null<haxe.ds.BalancedTree.V> |
iterator(): Iterator
Iterates over the bound values of this
BalancedTree.
This operation is performed in-order.
Returns |
---|
Iterator |
keyValueIterator(): KeyValueIterator
See Map.keyValueIterator
Returns |
---|
KeyValueIterator |
keys(): Iterator
Iterates over the keys of this
BalancedTree.
This operation is performed in-order.
Returns |
---|
Iterator |
new(): Void
Creates a new BalancedTree, which is initially empty.
Private Members
root: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Name | Type |
---|---|
node |
TreeNode<iteratorLoop.K, iteratorLoop.V> |
acc |
Array<iteratorLoop.V> |
setLoop(k: haxe.ds.BalancedTree.K, v: haxe.ds.BalancedTree.V, node: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>): TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Name | Type |
---|---|
k |
haxe.ds.BalancedTree.K |
v |
haxe.ds.BalancedTree.V |
node |
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
Returns |
---|
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
keysLoop(node: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>, acc: Array<haxe.ds.BalancedTree.K>): Void
Name | Type |
---|---|
node |
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
acc |
Array<haxe.ds.BalancedTree.K> |
balance(l: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>, k: haxe.ds.BalancedTree.K, v: haxe.ds.BalancedTree.V, r: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>): TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Name | Type |
---|---|
l |
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
k |
haxe.ds.BalancedTree.K |
v |
haxe.ds.BalancedTree.V |
r |
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
Returns |
---|
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V> |
compare(k1: haxe.ds.BalancedTree.K, k2: haxe.ds.BalancedTree.K): Int
Name | Type |
---|---|
k1 |
haxe.ds.BalancedTree.K |
k2 |
haxe.ds.BalancedTree.K |
Returns |
---|
Int |