已知字符串中的字符是互不相同的,现在把他们任意排列(例如,若已知字符串是“ab”,则任意输出排列是“ab”“aa”“ba”“bb”),编程输出全部的所有组合。
不同于输出全排列,只需要在函数中设置首位和后面各位的循环递归即可。同以上思路要从“ab”中延伸出“aa”“bb”可通过将首位赋值给后面各位循环递归完成(需要一定的限制条件)。
/*
字符串的全排列
已知字符串的字符是互不相同的,现在把他们的任意排序(例如,若已知字符串“ab”,则任意排序为
“aa”“ab”“ba”“bb”)
*/
#include <iostream>
using namespace std;
void ArbitrarilyChar(char *s, char * Copy,int nFrom, int nEnd, int nT);
void strncpy(char * dest, char * src,