Re: [Haskell-cafe] inserting values in a binary tree

Are there any invariants you wish to maintain when inserting? If not, it's rather trivial.
Paul: The idea is to find a value in the tree greater than the new value and then placing the new value before it on the tree. duplicates are ignored and if no value greater than he new value is found then it is appended as a new node to the end of the last node checked. in C you'd fiddle with pointers and Bob's your uncle. Here I'm not sure how to piece that tree back together again with the new element after having expanded it recursively. Cheers Paul

Hello PR, Saturday, May 10, 2008, 3:10:59 AM, you wrote:
in C you'd fiddle with pointers and Bob's your uncle. Here I'm not sure how to piece that tree back together again with the new element after having expanded it recursively.
in Haskell, you just return new tree with element inserted. it's
constructed from the two subtrees, where you've inserted element in
one of these. and so on recursively:
data Tree a = Tree a (Tree a) (Tree a)
| EmptyTree
insert (Tree x t1 t2) y | x
participants (2)
-
Bulat Ziganshin
-
PR Stanley