linkedbinarytree-linkedbinarytree4.html
来自「经典的数据结构源代码(java 实现)」· HTML 代码 · 共 46 行
HTML
46 行
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre> <font color = #ff0080>/** Removes a node with zero or one child. */</font> <font color=#8000a0><font color=#8000a0>public</font> </font>E <font color=#0000ff>remove</font>(Position<E> v) <font color=#8000a0><font color=#ff8000>throws</font> </font>InvalidPositionException { BTPosition<E> vv = <font color=#0000ff>checkPosition</font>(v); BTPosition<E> leftPos = vv.<font color=#0000ff>getLeft</font>(); BTPosition<E> rightPos = vv.<font color=#0000ff>getRight</font>(); <font color=#ff8000>if</font><font color=#0000ff> </font>(leftPos != null && rightPos != null) <font color=#8000a0><font color=#ff8000>throw</font> </font><font color=#ff8000>new</font> <font color=#0000ff>InvalidPositionException</font>(<font color=#008000>"Cannot remove node with two children"</font>); BTPosition<E> ww; <font color=#ff0080>// the only child of v, if any</font> <font color=#ff8000>if</font><font color=#0000ff> </font>(leftPos != null) ww = leftPos; <font color=#8000a0><font color=#ff8000>else</font> </font><font color=#ff8000>if</font><font color=#0000ff> </font>(rightPos != null) ww = rightPos; <font color=#ff8000>else</font> <font color=#ff0080>// v is a leaf</font> ww = null; <font color=#ff8000>if</font><font color=#0000ff> </font>(vv == root) { <font color=#ff0080>// v is the root</font> <font color=#ff8000>if</font><font color=#0000ff> </font>(ww != null) ww.<font color=#0000ff>setParent</font>(null); root = ww; } <font color=#ff8000>else</font> { <font color=#ff0080>// v is not the root</font> BTPosition<E> uu = vv.<font color=#0000ff>getParent</font>(); <font color=#ff8000>if</font><font color=#0000ff> </font>(vv == uu.<font color=#0000ff>getLeft</font>()) uu.<font color=#0000ff>setLeft</font>(ww); <font color=#ff8000>else</font> uu.<font color=#0000ff>setRight</font>(ww); <font color=#ff8000>if</font><font color=#0000ff></font>(ww != null) ww.<font color=#0000ff>setParent</font>(uu); } size--; <font color=#8000a0><font color=#ff8000>return</font> </font>v.<font color=#0000ff>element</font>(); }</dl></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?