Hey, j'essaye d'implémenter la fonction de fusion du tri de fusion dans Lua. Je connais assez bien l'algorithme, mais je suis nouveau à Lua. Je continue d'avoir un "mauvais argument # 1" pour "insérer" (table attendue, zéro) "Je crois que l'erreur pointe vers mon appel récursif. Je ne peux pas comprendre et j'ai l'impression que c'est quelque chose de plutôt trivial. J'ai juste besoin d'un Lua Guru pour me guider. Merci. Voici ma fonction:Fonction de fusion dans 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
Salut. Merci pour les conseils! Ça a bien marché! La fonction de fusion prend deux tables déjà triées et les fusionne dans une table triée. J'ai dû changer le table.insert (t, tmp) à table.insert (t, 1, tmp) de sorte qu'il insère l'article au début de la table de retour. –
Content d'être utile! – ponzao
Mike K, je pense que vous avez oublié de marquer la réponse de ponzao comme correcte. – kikito