读书人

打印一个字符串的全部排列

发布时间: 2012-10-26 10:30:59 作者: rapoo

打印一个字符串的所有排列。

//打印一个字符串的所有排列。
void printSequence(char* pChara)
{?
?int i = 0;
?static int MAX_LEN = strlen(pChara);
?if (pChara[0] == '\0')
?{
??for (int i = 0; i < MAX_LEN; i ++)
??{
???printf("%c", pChara[i + 1]);
??}
??printf("\n", "");?
?}

?char* tempChar = pChara;
?while (*tempChar != '\0' )
?{
??char* pMyString = new char[MAX_LEN + 1];
??memcpy(pMyString, pChara, MAX_LEN + 1);
??memcpy(pMyString + i, pMyString + i + 1, MAX_LEN - i);
??pMyString[MAX_LEN] = *tempChar;
??printSequence(pMyString);
??tempChar ++;
??i ++;
??delete[] pMyString;
?}
}

读书人网 >编程

热点推荐