contributed by < yutingshih
>
函式 __xt_remove
用於在 XTree 中移除一個節點,有兩個參數,分別是 XTree 的根節點 struct xt_node **root
和欲移除的節點 struct xt_node *del
,需要分別對三種狀況做處理:
del
有右子樹,以右子樹中最小節點替換 del
,然後呼叫 xt_update
維護 XTree。del
有左子樹,以左子樹中最大節點替換 del
,然後呼叫 xt_update
維護 XTree。del
是唯一的節點 (即根節點),則直接把根設為 NULL
,,最後一樣呼叫 xt_update
維護 XTree。