Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (3)
- (2) ()
- () ()
- (3)
- (2) (4)
- () () () ()
- #lang racket
- (define (left tree)
- (list-ref tree 0)
- )
- (define (value tree)
- (list-ref tree 1)
- )
- (define (right tree)
- (list-ref tree 2)
- )
- (define (merge left value right)
- (append (cons left '()) (append (cons value '()) (cons right '())))
- )
- (define (insert tree n)
- (cond
- [(empty? tree) (append '(()) (cons n '()) '(()))] ; leaf
- [(> (value tree) n) (merge (insert (left tree) n) (value tree)(right tree))] ; internal - go left
- [(< (value tree) n) (merge (left tree) (value tree) (insert (right tree) n))] ; internal - go right
- [(eq? (value tree) n) tree] ; internal - n already in tree
- )
- )
Add Comment
Please, Sign In to add comment