function Arrange(a,n)
n = n or #a
if n<=1 then
printResult(a)
return
end
for i = 1, n do
a[i],a[n] = a[n],a[i]
Arrange(a,n-1)
a[i],a[n] = a[n],a[i]
end
end
function printResult(a)
for i = 1, #a do
io.write(a[i].." ")
end
print()
end
Arrange({1,2,3},3)
利用递归来实现,依次遍历元素放到最后一个位置,然后递归求其余的位置的元素