【发布时间】:2011-03-18 05:44:27
【问题描述】:
嘿,我正在尝试在 Lua 中实现合并排序的合并功能。我非常了解该算法,但我是 Lua 的新手。我不断收到“'insert' 的错误参数 #1(表预期,得到 nil)”我相信错误指向我的递归调用。我无法弄清楚,我觉得这是一件非常微不足道的事情。我只需要一个 Lua 大师给我一些指导。谢谢。这是我的功能:
function merge(l1, l2)
if # l1 == 0 then
return l2
elseif # l2 == 0 then
return l1
else
if l1[1] <= l2[1] then
tmp = l1[1]
table.remove(l1,1)
return table.insert(merge(l1,l2),tmp)
else
tmp = l2[1]
table.remove(l2,1)
return table.insert(merge(l1,l2),tmp)
end
end
end
【问题讨论】: