Advertisement
Guest User

Untitled

a guest
Nov 2nd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 1.48 KB | None | 0 0
  1. (define (insert-into-binary-tree-duplicates value btn)
  2.   (cond
  3.     [(empty? btn) (make-binary-tree-node value empty empty)]
  4.     [(binary-tree-contains-? value btn)
  5.      (cond
  6.        [(cons? (binary-tree-node-value btn)) (make-binary-tree-node (if(= (first (binary-tree-node-value btn)) value) (cons value (binary-tree-node-value btn)) (binary-tree-node-value btn))                                                    
  7.            (if(< (first (binary-tree-node-value btn)) value) (binary-tree-node-left btn)
  8.            (if(= (first (binary-tree-node-value btn)) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-left btn))))
  9.            (if(> (first (binary-tree-node-value btn)) value) (binary-tree-node-right btn)
  10.            (if(= (first (binary-tree-node-value btn)) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-right btn)))))]
  11.        [ else (make-binary-tree-node (if(= (binary-tree-node-value btn) value) (list value value) (binary-tree-node-value btn))
  12.            (if(< (binary-tree-node-value btn) value) (binary-tree-node-left btn)
  13.            (if(= (binary-tree-node-value btn) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-left btn))))
  14.            (if(> (binary-tree-node-value btn) value) (binary-tree-node-right btn)
  15.            (if(= (binary-tree-node-value btn) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-right btn)))))]
  16.        )]
  17.     [ else (insert-into-binary-tree value btn)]
  18.     )
  19. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement