Finish BST node removal.
This commit is contained in:
parent
915e846b01
commit
7370cea951
1 changed files with 12 additions and 1 deletions
|
@ -182,7 +182,18 @@
|
|||
(if n
|
||||
(let ((nk (bst-node-key n)))
|
||||
(if (EQ? nk k)
|
||||
#f ;; ... from line 212 in util-dict-bst
|
||||
(values (if (bst-node-left n)
|
||||
(if (bst-node-right n)
|
||||
(let aloop ((an (bst-node-right n)))
|
||||
(if an
|
||||
(set-bst-node-left an
|
||||
(aloop (bst-node-left an)))
|
||||
(bst-node-left n)))
|
||||
(bst-node-left n))
|
||||
(if (bst-node-right n)
|
||||
(bst-node-right n)
|
||||
#f))
|
||||
1)
|
||||
(if (<? k nk)
|
||||
(let-values (((new-left-node sub-count)
|
||||
(loop (bst-node-left n))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue