nodepositionlist-remove.html

来自「经典的数据结构源代码(java 实现)」· HTML 代码 · 共 45 行

HTML
45
字号
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre>  <font color=#ff0080>/** Insert the given element at the beginning of the list, returning    * the new position; O(1) time  */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>void</font> <font color=#0000ff>addFirst</font>(E element) {    numElts++;    DNode&lt;E&gt; newNode = <font color=#8000a0><font color=#ff8000>new</font> </font>DNode&lt;E&gt;<font color=#0000ff></font>(header, header.<font color=#0000ff>getNext</font>(), element);    header.<font color=#0000ff>getNext</font>().<font color=#0000ff>setPrev</font>(newNode);    header.<font color=#0000ff>setNext</font>(newNode);  }  <font color = #ff0080>/**Remove the given position from the list; O(1) time */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>E <font color=#0000ff>remove</font>(Position&lt;E&gt; p)      <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidPositionException {    DNode&lt;E&gt; v = <font color=#0000ff>checkPosition</font>(p);    numElts--;    DNode&lt;E&gt; vPrev = v.<font color=#0000ff>getPrev</font>();    DNode&lt;E&gt; vNext = v.<font color=#0000ff>getNext</font>();    vPrev.<font color=#0000ff>setNext</font>(vNext);    vNext.<font color=#0000ff>setPrev</font>(vPrev);    <font color=#8000a0>E </font>vElem = v.<font color=#0000ff>element</font>();    <font color=#ff0080>// unlink the position from the list and make it invalid</font>    v.<font color=#0000ff>setNext</font>(null);    v.<font color=#0000ff>setPrev</font>(null);    <font color=#8000a0><font color=#ff8000>return</font> </font>vElem;  }  <font color=#ff0080>/** Replace the element at the given position with the new element    * and return the old element; O(1) time  */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font>E <font color=#0000ff>set</font>(Position&lt;E&gt; p, <font color=#8000a0>E </font>element)      <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidPositionException {    DNode&lt;E&gt; v = <font color=#0000ff>checkPosition</font>(p);    <font color=#8000a0>E </font>oldElt = v.<font color=#0000ff>element</font>();    v.<font color=#0000ff>setElement</font>(element);    <font color=#8000a0><font color=#ff8000>return</font> </font>oldElt;  }</dl></body></html>

⌨️ 快捷键说明

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