void Permutation(char* pStr)
{
if(pStr==NULL)
return;
Permutation(pStr,pStr);
}
void Permutation(char* pStr,char* pBegin)
{
if(*pBegin=='\0')
printf("%s\n",pStr);
else
{
char* pCh = pBegin;
while(*pCh!='\0')
{
char temp;
temp = *pCh;
*pCh = *pBegin;
*pBegin = temp;
Permutation(pStr,pBegin++);
temp = *pCh;
*pCh = *pBegin;
*pBegin = temp;
}
}
}
所有要求按照一定要求摆放若干个数字的题都可以用这样的算法,先求出所有排列再判断。