楼主:
wacheck (94不爱喝水)
2018-07-12 22:21:05https://i.imgur.com/gwmEd0q.jpg
请问一下各位
老师上课假设 list[1]=a, list[2]=b , list[3]=c
依据副程式perm是产生list[i]到list[n]的排列组合
今天我设i=n=2时,
以下是我的理解:
lis[1]跟list[2]作排列组合,也就是a和b作排列组合,会有ab、ba两种可能
但是根据code的意思,if条件成立时(i=n=2)
当j=1时 会印出list[1]的内容,也就是印出a
当j=2,印出list[2]的内容,也就是印出b
也就是指印出ab一种可能而已
不知道我的认知错在哪边 麻烦大家了 感恩
作者:
y2j60537 (skkkkuu)
2018-07-13 01:22:00perm(list,1,3)=把list的第一项到第三项做排列。使用递回定义:排1~3=第一项固定+排2~3项。 那终止条件i=n就是做到排第3到第3项时 代表已经排完了所以可以output结果我觉得下面那个流程图再仔细想一下多带一些参数练习应该可以解惑 做个perm(list,2,3),list=abc 注意一下call到perm(list,i,n)时,那时的list是长什么样子