輸入一個字符串,打印出該字符串中字符的所有序列。例如,輸入字符串abc,則打印出由字符a、b、c所能排列出來的所有字符串abc、acb、bac、bca、cab和cba。
void Permutation(char* pStr)
{
if(pStr==nullptr)
return;
Permutation(pStr,pStr);
}
void Permutation(char* pStr,char* pBegin)
{
if(*pBegin=='\0')
{
printf("%s\n",pStr);
}
else
{
for(char* pCh=pBegin;*pCh!='\0';++pCh)
{
char
temp=*pCh;
*pCh=*pBegin;
*pBegin=-temp;
Permutation(pStr,pBegin+1);
temp=*pCh;
*pCh=*pBegin;
*pBegin=temp;
}
}
}
想法:額,指針讓我看的難受,等我之後把C++補了後再後頭看看這些涉及指針的題目,現在只能把答案抄上來。