Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (insert-into-binary-tree-duplicates value btn)
- (cond
- [(empty? btn) (make-binary-tree-node value empty empty)]
- [(binary-tree-contains-? value btn)
- (cond
- [(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))
- (if(< (first (binary-tree-node-value btn)) value) (binary-tree-node-left btn)
- (if(= (first (binary-tree-node-value btn)) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-left btn))))
- (if(> (first (binary-tree-node-value btn)) value) (binary-tree-node-right btn)
- (if(= (first (binary-tree-node-value btn)) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-right btn)))))]
- [ else (make-binary-tree-node (if(= (binary-tree-node-value btn) value) (list value value) (binary-tree-node-value btn))
- (if(< (binary-tree-node-value btn) value) (binary-tree-node-left btn)
- (if(= (binary-tree-node-value btn) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-left btn))))
- (if(> (binary-tree-node-value btn) value) (binary-tree-node-right btn)
- (if(= (binary-tree-node-value btn) value) empty (insert-into-binary-tree-duplicates value (binary-tree-node-right btn)))))]
- )]
- [ else (insert-into-binary-tree value btn)]
- )
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement