递归思想:
image.png
该算法的奇妙之处在于它的回退能保证经过P处理之后的str能跟输入的保持不变。
1. 全排列:
perm(set, s, e)
{
顺序从set[s]~set[e]中选出一个元素与s交换(即选出一个元素)
调用perm(set, s + 1, e)
直到s>e,即剩余集合已经为空了,输出set
}
image.png
我的最初版本(提供个思路):
#include
#include
void exchange(char input[],int destination,int point){
char temp;
temp=input[point];
input[point]=input[destination];
input[destination]=temp;
}
void p(char input[],char output[],int start,int end){
int i;
char reme