Class comb.collections.Heap
Extends
comb.collections.Collection.
Defined in: Heap.js.
- Methods borrowed from class comb.collections.Collection:
- concat, indexOf, join, lastIndexOf, slice, toString
Field Detail
{Number}
count
the current number of elements.
{Boolean}
isEmpty
true if the Heap is empty.
{Array}
keys
the keys of all items in the heap.
{Array}
values
the values contained in the heap.
Method Detail
clear()
Empty the heap.
this.__heap.length = 0;
{Boolean}
containsKey(key)
Determine if the heap contains a particular key.
- Parameters:
- key
- key to test.
- Returns:
- {Boolean} true if the key is contained in this heap.
var heap = this.__heap;
for (var i = heap.length - 1; i >= 0; i--) {
if (heap[i].key == key) {
return true;
}
}
return false;
{Boolean}
containsValue(value)
Determine if the heap contains a particular value.
- Parameters:
- value
- value to test.
- Returns:
- {Boolean} true if the value is contained in this heap.
var heap = this.__heap;
for (var i = heap.length - 1; i >= 0; i--) {
if (heap[i].value == value) {
return true;
}
}
return false;
insert(key, value)
Insert a key value into the key
- Parameters:
- key
- value
if (!base.isString(key)) {
var l = this.__heap.push(this.__makeNode(key, value));
this.__upHeap(l - 1);
} else {
throw TypeError("Invalid key");
}
peek()
Gets he value of the root node with out removing it.
- Returns:
- the value of the root
var ret = undefined, heap = this.__heap, l = heap.length;
if (l) {
ret = heap[0];
}
return ret ? ret.value : ret;
peekKey()
Gets the key of the root node without removing it.
- Returns:
- the key of the root
var ret = undefined, heap = this.__heap, l = heap.length;
if (l) {
ret = heap[0];
}
return ret ? ret.key : ret;
print()
Print the heap.
this.__printNode(0, 0);
remove()
Removes the root from the heap
- Returns:
- the value of the root
var ret = undefined, heap = this.__heap, l = heap.length;
if (l) {
ret = heap[0];
if (l == 1) {
heap.length = 0;
} else {
heap[0] = heap.pop();
this.__downHeap(0);
}
}
return ret ? ret.value : ret;
Documentation generated by JsDoc Toolkit 2.4.0 on Tue Jan 31 2012 16:14:11 GMT-0600 (CST)