lua实现全排列

function printResult (a)
	for i = 1, #a do
		io.write(a[i], " ")
	end
	io.write("\n")
end
function Permute(a,k)
	local len = #a
	if(len == k) then
		printResult(a)
	else
		for i=k, len do
			a[i], a[k] = a[k], a[i]
			Permute(a,k+1)
			a[i], a[k] = a[k], a[i]
		end
	end
end

arr = {"a", "b", "c"}
Permute(arr,1)

输出结果:

>lua -e "io.stdout:setvbuf 'no'" "add.lua" 
a b c 
a c b 
b a c 
b c a 
c b a 
c a b 
>Exit code: 0

9.2里在用协程写,直接递归就可以啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值