⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 heappriorityqueue-mainmethods.html

📁 经典的数据结构源代码(java 实现)
💻 HTML
字号:
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre>  <font color = #ff0080>/** Returns but does not remove an entry with minimum key */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>Entry&lt;K,V&gt; <font color=#0000ff>min</font>() <font color=#8000a0><font color=#ff8000>throws</font> </font>EmptyPriorityQueueException {    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isEmpty</font>())       <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>EmptyPriorityQueueException</font>(<font color=#008000>"Priority queue is empty"</font>);    <font color=#8000a0><font color=#ff8000>return</font> </font>heap.<font color=#0000ff>root</font>().<font color=#0000ff>element</font>();  }  <font color = #ff0080>/** Inserts a key-value pair and returns the entry created */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>Entry&lt;K,V&gt; <font color=#0000ff>insert</font>(K k, <font color=#8000a0>V </font>x) <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidKeyException {    <font color=#0000ff>checkKey</font>(k);  <font color=#ff0080>// may throw an InvalidKeyException</font>    Entry&lt;K,V&gt; entry = <font color=#8000a0><font color=#ff8000>new</font> </font>MyEntry&lt;K,V&gt;<font color=#0000ff></font>(k,x);    <font color=#0000ff>upHeap</font>(heap.<font color=#0000ff>add</font>(entry));    <font color=#8000a0><font color=#ff8000>return</font> </font>entry;  }  <font color = #ff0080>/** Removes and returns an entry with minimum key */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>Entry&lt;K,V&gt; <font color=#0000ff>removeMin</font>() <font color=#8000a0><font color=#ff8000>throws</font> </font>EmptyPriorityQueueException {    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>isEmpty</font>())       <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>EmptyPriorityQueueException</font>(<font color=#008000>"Priority queue is empty"</font>);    Entry&lt;K,V&gt; min = heap.<font color=#0000ff>root</font>().<font color=#0000ff>element</font>();    <font color=#ff8000>if</font><font color=#0000ff> </font>(<font color=#0000ff>size</font>() == 1)      heap.<font color=#0000ff>remove</font>();    <font color=#ff8000>else</font> {      heap.<font color=#0000ff>replace</font>(heap.<font color=#0000ff>root</font>(), heap.<font color=#0000ff>remove</font>());      <font color=#0000ff>downHeap</font>(heap.<font color=#0000ff>root</font>());    }    <font color=#8000a0><font color=#ff8000>return</font> </font>min;  }  <font color = #ff0080>/** Determines whether a given key is valid */</font>  <font color=#8000a0><font color=#8000a0>protected</font> </font><font color=#8000a0>void</font> <font color=#0000ff>checkKey</font>(K key) <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidKeyException {    <font color=#ff8000>try</font> {      comp.<font color=#0000ff>compare</font>(key,key);    }    <font color=#ff8000>catch</font><font color=#0000ff></font>(Exception e) {      <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>InvalidKeyException</font>(<font color=#008000>"Invalid key"</font>);    }  }</dl></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -