[Haskell-cafe] bit of help with n-ary please...
spot135
aca08sas at shef.ac.uk
Sun Nov 8 17:24:59 EST 2009
Hi,
Ok what im trying to do is replace an element in an n-ary and display the
completed tree.
So this is what ive got so far.
data Tree a = Empty |Leaf a|Branch a [Tree a]
deriving (Show)
replace :: Eq a=>a->a->Tree a -> (Tree a)
replace x y Empty = Element x
replace x y (Leaf z)
| x==z = (Leaf y)
-- | otherwise =
replace x y (Branch z lis)
| x==z = (Branch y lis)
|otherwise = replaceA x y clis
replaceA :: Eq a=> a->a->[Tree a]->(Tree a)
replaceA _ _ [] = Empty -- run out
replaceA x y (h:r)
|Q suc = suc
|otherwise = replaceA x y r
where suc=replace x y h
Q :: a -> Bool
Q a = True
Q a = False
Theres two main problems i am having. One is I'm not sure what should be the
"otherwise" in the leaf function. Another problem is it doesn't show the
whole tree just the part after the replacement.
If you think this is complete bull I'll quite happily start over if somebody
could give me some insight
into what is the best way of tackling this problem is.
Many thanks in advance
spot
--
View this message in context: http://old.nabble.com/bit-of-help-with-n-ary-please...-tp26258006p26258006.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe
mailing list