使用next_permutation()就非常简单了。
#include <iostream>
#include <algorithm>
using namespace std;
//习题8.2 全排列
int main(){
string s;
cin>>s;
sort(s.begin(),s.end());
cout<<s<<endl;
while(next_permutation(s.begin(),s.end()))cout<<s<<endl;
return 0;
}