不懂的欢迎评论,也请各位大佬批评指正
#include <iostream>
#include <algorithm>
#include<stdio.h>
using namespace std;
void Perm(char list[], int k, int m )
{
if(k==m)
{ //只剩下一个元素
for (int i=0;i<=m;i++) {
cout<<list[i];
}
cout<<endl;
}
else //还有多个元素待排列,递归产生排列
for (int i=k; i<=m; i++)
{
swap(list[k],list[i]);
Perm(list,k+1,m);
swap(list[k],list[i]);
}
}
int main() {
char s[100];
scanf("%s",s);
Perm(s,0,strlen(s)-1);
return 0;
}