У меня есть структура data
в Haskell, которая позволяет мне построить дерево.Дерево: Дополнительное количество посылок
data MultTree b = DataNode b | IndexNode Int Int (MultTree b) (MultTree b) (MultTree b) deriving (Show)
В этом случае возможно только в том IndexNode
, что нужно три MultTree's
в качестве параметров.
Как я могу сделать IndexNode
в состоянии получить 0, 1, 2 или 3 MultTree's
? Выполнение IndexNode
с использованием только разных параметров не работает.
Таким образом, в конце концов, я хотел бы создать дерево подобное:
t2 :: MultTree Int
t2 = IndexNode 3 42 (IndexNode 3 15 (3) (11) (12)) (IndexNode 19 42 (42) (23))
Отличный ответ! Было бы ужасно, если бы вы объяснили, как получить поддеревья, если я хочу сделать некоторую рекурсию на существующем дереве. – jublikon
@ jublikon Отредактировано. – chi
Спасибо! Что означает _ _? Я понимаю, что оператор для списков, но здесь я не могу видеть синтаксис. – jublikon