mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
5 lines
No EOL
14 KiB
HTML
5 lines
No EOL
14 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Make (containers.CCHeap.Make)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../../index.html">containers</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCHeap.Make</span></h1></header><h3 class="heading">Parameters</h3><div><div class="spec argument" id="argument-1-E"><a href="#argument-1-E" class="anchor"></a><div class="def argument"><code><a href="argument-1-E/index.html">E</a> : <a href="../index.html#module-type-PARTIAL_ORD">PARTIAL_ORD</a></code></div><div class="doc"></div></div></div><h3 class="heading">Signature</h3><div class="spec type" id="type-elt"><a href="#type-elt" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>elt</code><code><span class="keyword"> = </span><a href="argument-1-E/index.html#type-t">E.t</a></code><code></code></div><div class="doc"></div></div><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"></div></div><div class="spec val" id="val-empty"><a href="#val-empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>empty : <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Empty heap</p></div></div><div class="spec val" id="val-is_empty"><a href="#val-is_empty" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_empty : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Is the heap empty?</p></div></div><div class="spec exception" id="exception-Empty"><a href="#exception-Empty" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Empty</span></code></div><div class="doc"></div></div><div class="spec val" id="val-merge"><a href="#val-merge" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>merge : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Merge two heaps</p></div></div><div class="spec val" id="val-insert"><a href="#val-insert" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>insert : <a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Insert a value in the heap</p></div></div><div class="spec val" id="val-add"><a href="#val-add" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Synonym to <a href="index.html#val-insert">insert</a></p></div></div><div class="spec val" id="val-filter"><a href="#val-filter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>filter : (<a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> bool) <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Filter values, only retaining the ones that satisfy the predicate.
|
|
Linear time at least.</p></div></div><div class="spec val" id="val-find_min"><a href="#val-find_min" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_min : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> option</code></div><div class="doc"><p>Find minimal element</p></div></div><div class="spec val" id="val-find_min_exn"><a href="#val-find_min_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>find_min_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a></code></div><div class="doc"><p>Same as <a href="index.html#val-find_min">find_min</a> but can fail</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if the heap is empty</li></ul></div></div><div class="spec val" id="val-take"><a href="#val-take" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (<a href="index.html#type-t">t</a><span class="keyword"> * </span><a href="index.html#type-elt">elt</a>) option</code></div><div class="doc"><p>Extract and return the minimum element, and the new heap (without
|
|
this element), or <code class="code">None</code> if the heap is empty</p></div></div><div class="spec val" id="val-take_exn"><a href="#val-take_exn" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>take_exn : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a><span class="keyword"> * </span><a href="index.html#type-elt">elt</a></code></div><div class="doc"><p>Same as <a href="index.html#val-take">take</a>, but can fail.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Empty</span>: if the heap is empty</li></ul></div></div><div class="spec val" id="val-iter"><a href="#val-iter" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iter : (<a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> unit) <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Iterate on elements</p></div></div><div class="spec val" id="val-fold"><a href="#val-fold" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>fold : (<span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <span class="keyword">‑></span> <span class="type-var">'a</span>) <span class="keyword">‑></span> <span class="type-var">'a</span> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <span class="type-var">'a</span></code></div><div class="doc"><p>Fold on all values</p></div></div><div class="spec val" id="val-size"><a href="#val-size" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>size : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"><p>Number of elements (linear complexity)</p></div></div><div class="spec val" id="val-to_list"><a href="#val-to_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> list</code></div><div class="doc"><p>Return the elements of the heap, in no particular order.</p></div></div><div class="spec val" id="val-to_list_sorted"><a href="#val-to_list_sorted" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_list_sorted : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> list</code></div><div class="doc"><p>Return the elements in increasing order</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.1</li></ul></div></div><div class="spec val" id="val-add_list"><a href="#val-add_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_list : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> list <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>Add the elements of the list to the heap. An element occurring several
|
|
times will be added that many times to the heap.</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_list"><a href="#val-of_list" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_list : <a href="index.html#type-elt">elt</a> list <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p><code class="code">of_list l = add_list empty l</code></p></div></div><div class="spec val" id="val-add_seq"><a href="#val-add_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_seq : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_seq"><a href="#val-of_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_seq : <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq"><a href="#val-to_seq" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_seq_sorted"><a href="#val-to_seq_sorted" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_seq_sorted : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-sequence">sequence</a></code></div><div class="doc"><p>Iterate on the elements, in increasing order</p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 1.1</li></ul></div></div><div class="spec val" id="val-add_klist"><a href="#val-add_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_klist : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-klist">klist</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_klist"><a href="#val-of_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_klist : <a href="index.html#type-elt">elt</a> <a href="../index.html#type-klist">klist</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_klist"><a href="#val-to_klist" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_klist : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-klist">klist</a></code></div><div class="doc"></div></div><div class="spec val" id="val-add_gen"><a href="#val-add_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>add_gen : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-gen">gen</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div><div class="spec val" id="val-of_gen"><a href="#val-of_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>of_gen : <a href="index.html#type-elt">elt</a> <a href="../index.html#type-gen">gen</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_gen"><a href="#val-to_gen" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_gen : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-gen">gen</a></code></div><div class="doc"></div></div><div class="spec val" id="val-to_tree"><a href="#val-to_tree" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>to_tree : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-ktree">ktree</a></code></div><div class="doc"></div></div><div class="spec val" id="val-print"><a href="#val-print" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>print : ?⁠sep:string <span class="keyword">‑></span> <a href="index.html#type-elt">elt</a> <a href="../index.html#type-printer">printer</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <a href="../index.html#type-printer">printer</a></code></div><div class="doc"><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul></div></div></body></html> |