排列 组合问题 ----模板

例如 找出"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

 

你可能感兴趣的:(算法模板)