1个回答
展开全部
//需要三个参数,k表示当前的数,m表示数的个数
Perm( char *pszStr , int k , int m )
{
if (k == m)
{
static int s_i = 1;
cout<<” 第 ”<<s_i ++<<” 个排列 ”<<pszStr<<endl;
}
else
{
for (int i = k; i <= m; i++) //第i个数分别与它后面的数字交换就能得到新的排列
{
Swap(pszStr + k, pszStr + i);
Perm(pszStr, k + 1, m);
Swap(pszStr + k, pszStr + i);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询