Constructor
new Heap(funcopt, delFuncopt)
Parameters:
-
function <optional> function(obj){ return +obj; }func
pushで登録するオブジェクトからヒープの大小比較判定値を取り出す関数
-
function <optional> function(obj){ return obj; }delFunc
削除対象ノードを特定する関数
「delの引数オブジェクト === delFunc(heapのノードのオブジェクト)」 で判定する
Example
h = HJN_util.Heap( function(obj){ return +obj; } );<br>
h.push("12.34") // データを登録する ;<br>
h.push(0.12) // ;<br>
h.pop() // => 0.12 最小値のオブジェクトを取り出す ;<br>
h.pop() // => "12.34" ;<br>
h.top() // =>undefined 最小値のオブジェクト ;<br>
h.size() // =>0 登録オブジェクト数
Methods
(static) Heap#del(obj) → {Object|undefined}
指定データを削除する
Parameters:
-
Objectobj
削除対象と同一オブジェクト(=== で判定)
Returns:
-
Object
|
undefined
削除したオブジェクト(undefined:合致するオブジェクトが無いとき)
(static) Heap#pop() → {Object|undefined}
最小値のデータを取り出す
Returns:
-
Object
|
undefined
最小値
(static) Heap#push(obj)
データを追加する
Parameters:
-
Objectobj
登録オブジェクト
(static) Heap#size() → {Number}
ヒープのサイズを返却する
Returns:
-
Number
ヒープサイズ(0以上)
(static) Heap#top() → {Object|undefined}
最小値を返却する(登録データは変更しない)
Returns:
-
Object
|
undefined
最小値