全排列
递归求解
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
char ans[10];
bool fin(chars,char c, int l)
{
for(int i=0;i<l;i++){
if(s[i]==c)return 1;
}
return 0;
}
void rec(chars,int l)
{
if(l==0)cout<<ans<<endl;
else for(int i=0;i<n;i++){
if(!fin(ans,s[i],n-l)){
ans[n-l]=s[i];
rec(s,l-1);
}
}
}
int main()
{
char exp [10];
cin>>exp;
sort(exp,exp+strlen(exp));
n=strlen(exp);
rec(exp,strlen(exp));
return 0;
}</algorithm></cstring></cstdio></cstdlib></iostream>