Visualize a tree: Difference between revisions

Lingo added
m (added whitespace before the TOC (table of contents), added a ;Task: (bold) header, added other whitespace and highlighting to the task's preamble, added bullet points.)
(Lingo added)
Line 972:
</html></lang>
 
=={{header|MathematicaLingo}}==
<lang lingo>-- parent script "TreeItem"
-- (minimal implementation with public property access)
 
property name
property children
 
on new (me, itemName)
me.name = itemName
me.children = []
return me
end
 
on addChild (me, child)
me.children.add(child)
end
 
-- print a tree
on printTree (me, treeItem, indent)
if voidP(treeItem) then treeItem = me
if voidP(indent) then indent = ""
put indent&treeItem.name
repeat with c in treeItem.children
me.printTree(c, indent&" ")
end repeat
end</lang>
Usage:
<lang lingo>
-- create a tree
root = script("TreeItem").new("root")
a = script("TreeItem").new("a")
root.addChild(a)
b = script("TreeItem").new("b")
root.addChild(b)
a1 = script("TreeItem").new("a1")
a.addChild(a1)
a11 = script("TreeItem").new("a11")
a1.addChild(a11)
a12 = script("TreeItem").new("a12")
a1.addChild(a12)
b1 = script("TreeItem").new("b1")
b.addChild(b1)
 
-- print the tree
root.printTree()</lang>
 
{{Out}}
<pre>
-- "root"
-- " a"
-- " a1"
-- " a11"
-- " a12"
-- " b"
-- " b1"
</pre>
 
=={{header|Mathematica}}==
 
=== Tree graph ===
Anonymous user