回溯算法解决全排列问题
用c++解决字符串全排列问题
输入样例
123
输出样例
123
132
213
231
312
321
代码
#include<bits/stdc++.h>
using namespace std;
char a[100],b[100];
bool c[100];
int n;
void fun(int m)
{
if(n==m)
{
cout<<b<<endl;
}
else
{
for(int i=0;i<n;i++)
{
if(c[i]==0)
{
c[i]=1;
b[m]=a[i];
fun(m+1);
c[i]=0;
}
}
}
}
int main()
{
cin>>a;
n=strlen(a);
fun(0);
return 0;
}
第一次写博客,如果大家觉得有什么问题欢迎留言,希望能帮到大家。