问题: 对给定的一组数据进行排列并输出全部可能
代码如下:
算法Perm(list,k,m)递归地产生所有前缀是list[0:k-1]且后缀是list[k:m]的全排列的所有排列。在一般情况下,k<m,算法将list[k:m]中的每一个元素分别与list[k]中元素交换,然后递归地计算list[k+1:m]的全排列,并将计算结果作为list[0:k]的后缀。
下面是标准C++写法:
问题: 对给定的一组数据进行排列并输出全部可能
代码如下:
算法Perm(list,k,m)递归地产生所有前缀是list[0:k-1]且后缀是list[k:m]的全排列的所有排列。在一般情况下,k<m,算法将list[k:m]中的每一个元素分别与list[k]中元素交换,然后递归地计算list[k+1:m]的全排列,并将计算结果作为list[0:k]的后缀。
下面是标准C++写法: