全排列采用string递归的做法
q:对123进行排列输出所有可能
#include<iostream>
#include<string>
using namespace std;
void pailie(string a,int k)//k为当前位置
{
if(k==(int)a.length())
{
cout<<a;
cout<<endl;
}
for(int i=k;i<(int)a.length();i++)
{
char temp=a[i];//探测
a[i]=a[k];
a[k]=temp;
pailie(a,k+1);
char t=a[i];//回溯
a[i]=a[k];
a[k]=t;
}
}
int main()
{
string a="123";
pailie(a,0);
return 0;
}