В виде LTree определяется как:Нахождение обратной функции на LTree
data LTree a = Leaf a | Fork (LTree a) (LTree a)
I создает список всех лаврового листа и соответствующего уровня, как это:
cross :: LTree a -> [(a,Int)]
cross (Leaf x) = [(x,0)]
cross (Fork e d) = map (\(x,n) -> (x,n+1)) (cross e ++ cross d)
Теперь я хочу, чтобы создать обратная функция:
build :: [(a,Int)] -> LTree a
Так что строить (скрестить) = а для каждого LTree
Большое вам спасибо!