中国开发网: 论坛: 程序员情感CBD: 贴子 708210
bjwf
这次真的搞定了.
#define MAXN 100
void permutation(const char * str, char * outbase, int cur, int n, int m)
{
if (m == 0)
{
outbase[cur] = 0;
printf("%s\n", outbase);
return ;
}
char strbk[MAXN];
for (int i = 0; i < n; i++)
{
memcpy(strbk, str, i);
outbase[cur] = str[i];
memcpy(strbk+i, str+i+1, n-i);
permutation(strbk, outbase, cur+1, n-1, m-1);
}
}



int _tmain(int argc, _TCHAR* argv[])
{

char in[] = "ABC";
char out[100];

for (int i = 1; i <= 3; i++)
{
permutation("ABC", out, 0, 3, i);
}
return 0;
}

A
B
C
AB
AC
BA
BC
CA
CB
ABC
ACB
BAC
BCA
CAB
CBA
请按任意键继续. . .

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录