предварительный обход двоичного дерева на f # - PullRequest
0 голосов
/ 07 сентября 2018

Я пишу функцию, которая берет дерево t1 и возвращает строку со всеми числами, хранящимися в t1 (трансверсал преодера), разделенными пробелами.

Например:

convertToStr( Node (Node (Node (Empty, 6, Empty), 2, Empty), 
5, Node (Empty, 0, Node (Empty, 1, Empty))) )

даст мне

"5 2 6 0 1"

let rec convertToStr t1 =
 match t1 with
  | Node(E, v, E) -> String(v)
  | Node(E, v, w) -> converToStr(w)
  | Node(u, v, E) -> convertToStr(u)
  | Node(u, v, w) -> String(v) + convertToStr(u) + convertToStr(w)

Я все еще не получаю желаемый результат. У меня проблемы с печатью правильного поддерева. Любая помощь приветствуется

1 Ответ

0 голосов
/ 08 сентября 2018

Ваш второй и третий дела не могут распечатать v. Самое простое решение - это исправить.

...