Visualize a tree: Difference between revisions
Content added Content deleted
(→Functional composition: Python 3 pylint. Tidying) |
(→{{header|Haskell}}: Added a version using Data.Tree `drawTree`) |
||
Line 975: | Line 975: | ||
`-- (nil) |
`-- (nil) |
||
</pre> |
</pre> |
||
The '''Data.Tree''' module in the standard (GHC) libraries also includes a '''drawTree''' function for multiway (rose) trees of strings. |
|||
We can fmap show over our tree of integers to derive a tree of strings, and apply `drawTree` to that. |
|||
<lang haskell>import Data.Tree (Tree (..), drawTree) |
|||
tree :: Tree Int |
|||
tree = |
|||
Node |
|||
1 |
|||
[ Node 1 [Node 4 [Node 7 []], Node 5 []] |
|||
, Node 3 [Node 6 [Node 8 [], Node 9 []]] |
|||
] |
|||
main :: IO () |
|||
main = putStrLn $ drawTree (show <$> tree)</lang> |
|||
{{Out}} |
|||
<pre>1 |
|||
| |
|||
+- 1 |
|||
| | |
|||
| +- 4 |
|||
| | | |
|||
| | `- 7 |
|||
| | |
|||
| `- 5 |
|||
| |
|||
`- 3 |
|||
| |
|||
`- 6 |
|||
| |
|||
+- 8 |
|||
| |
|||
`- 9</pre> |
|||
=={{header|Icon}} and {{header|Unicon}}== |
=={{header|Icon}} and {{header|Unicon}}== |