怎么用Lua实现二叉树的前中后序遍历,要代码,谢谢,是Lua语言,不是其他

如题所述

function tra1(tNode)
if tNode.left then
tNode.left:tra()
end
print(tNode.this)
if tNode.right then
tNode.right:tra()
end
end
function tra2(tNode)
print(tNode.this)
if tNode.left then
tNode.left:tra()
end
if tNode.right then
tNode.right:tra()
end
end
function tra3(tNode)
if tNode.left then
tNode.left:tra()
end
if tNode.right then
tNode.right:tra()
end
print(tNode.this)
end
m1 = {__index = {tra = tra1}}
m2 = {__index = {tra = tra2}}
m3 = {__index = {tra = tra3}}
function create(tab)
local t = tab
setmetatable(t,m1) --m1 中序 m2 前序 m3 后序
return t
end
node1 = create({this = 1})
node2 = create({this = 2})
node3 = create({this = 3,left = node1})
node4 = create({this = 4,right = node2})
node5 = create({this = 5,left = node3,right = node4})
node5:tra()
不太觉得你能看的懂 不过还是写了吧
前序中序后序
温馨提示:答案为网友推荐,仅供参考