From 7391f2ffeb5ad9ef0960e1fcb227f68e63017808 Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Sun, 8 Sep 2019 19:13:33 +0200 Subject: [PATCH] more bst --- bst.rkt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bst.rkt b/bst.rkt index 9480c81..d3a6647 100644 --- a/bst.rkt +++ b/bst.rkt @@ -3,8 +3,8 @@ (define-struct node (value left right)) (define (search node value) (cond - [(= (node-value node) value) #t] - [(empty? node) #f] + [(= (node-value node) value) node] + [(empty? node) empty] [(> (node-value node) value) (search (node-left node) value)] [else (search (node-right node) value)] )) @@ -50,4 +50,10 @@ [(= (height (node-right node)) -1) -1] [(< 1 (abs (- (height (node-left node)) (height (node-right node))))) -1] [else (+ 1 (max (height (node-left node)) (height (node-right node))))] - )) \ No newline at end of file + )) + +(define (delete node) + (cond + [(empty? node) empty] + [(empty? (node-left node)) (node-right node)] + [(empty? (node-right node)) (node-left node)])) \ No newline at end of file