Про деревья
Dec. 21st, 2011 02:55 pmИмеется тип
Первая приходящая в голову реализация не проходит следующий тест:
Код теста специально сливается с фоном, попробуйте сначала догадаться самостоятельно, в чём тут подвох.
data Tree a = Nil | Branch (Tree a) a (Tree a)Написать функцию
elemTree :: Eq a => a -> Tree a -> Boolпроверяющую наличие значения в дереве.
Первая приходящая в голову реализация не проходит следующий тест:
> let testTree n = Branch (testTree n) n (testTree (n+1))
> 3 `elemTree` (testTree 1)
True
Код теста специально сливается с фоном, попробуйте сначала догадаться самостоятельно, в чём тут подвох.