例如 找出"abc" 的全排列
其实就是一个递归问题
abc acb bac bca cab cba
void Permutation(char* pStr,char* pBegin)
{
assert(pStr && pBegin);
if(*pBegin == '\0')
printf("%s/n",pStr);
else
{
for(char* pCh = pBegin; *pCh != '\0';pCh++)
{
swap(*pBegin, *pCh);
Permutation(pStr, pBegin+1);
swap(*pBegin, *pCh)
}
}
}
组和问题
例如:输入一个字符串,输出该字符串中字符的所有组和。举例:
abc的组和为 a b c ab ac bc abc