按照字典序打印所有的字符串

比如给abc

要打印abc,acb,bac,bca,cab,cba。

void AA(char* pStr,char* pBegin)
{
    if(*pBegin == '') 
        cout << pStr << endl;
    else
    {
        for(char* ptemp = pBegin;*ptemp != '';ptemp++)
        {
            if(ptemp != pBegin)
            {
                char a = *ptemp;
                *ptemp = *pBegin;
                *pBegin = a;
            }
            AA(pStr,pBegin+1);
                        if(ptemp != pBegin)
            {
                char a = *ptemp;
                *ptemp = *pBegin;
                *pBegin = a;
            }
        }
    }
}

int main()
{
    char arr1[10] = {"abcd"};
    AA(arr1,arr1);

    return 0;
}
原文地址:https://www.cnblogs.com/TheQi/p/9570942.html