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()
ä¸å¤ªè§å¾ä½ è½ççæ ä¸è¿è¿æ¯åäºå§
ååºä¸åºååº
温馨提示:答案为网友推荐,仅供参考