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

比如给abc

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

void AA(char* pStr,char* pBegin)
{
    if(*pBegin == '\0') 
        cout << pStr << endl;
    else
    {
        for(char* ptemp = pBegin;*ptemp != '\0';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;
}

 

posted @ 2018-09-01 17:13  TheQi  阅读(474)  评论(0编辑  收藏  举报