#include <iostream>
using namespace std;
void Permutation_o(char* pStr, char* pBegin)
{
if (*pBegin == '\0' )
{
cout << pStr <<endl;
}
else
{
for (char* pCh = pBegin; *pCh!='\0'; pCh++)
{
char temp = *pCh;
*pCh = *pBegin;
*pBegin = temp;
Permutation_o(pStr, pBegin+1);
//下面是最后一个步骤 你要把排乱的数组给放回去
temp = *pCh;
*pCh = *pBegin;
*pBegin = temp;
}
}
}
void Permutation_o(char* pStr)
{
if (pStr==NULL)
return;
Permutation_o(pStr,pStr);
}
int main(void)
{
char str[10]="abc";
Permutation_o(str);
//cout << str <<endl;
return 0;
}