#include"bits/stdc++.h"
using namespace std;
//使用next_permutation算法实现全排列
int main(){
string xx="132";//string
sort(xx.begin(),xx.end());
cout<<xx<<endl;
while(next_permutation(xx.begin(),xx.end())){
cout<<xx<<endl;
}
cout<<"********"<<endl;
char yy[]="132";//字符数组
sort(yy,yy+3);
cout<<yy<<endl;
while(next_permutation(yy,yy+3)){
cout<<yy<<endl;
}
cout<<"********"<<endl;
int m[]={1,3,2};
list<int>zz(m,m+3);//list双向链表容器
//sort(zz.begin(),zz.end());//不可用sort排序
zz.sort();//需要用到list本身的sort函数
//list<int> ::iterator i;
for(auto i=zz.begin();i!=zz.end();i++){
cout<<*i;
}
cout<<endl;
while(next_permutation(zz.begin(),zz.end())){
//list<int>::iterator i;
for(auto i=zz.begin();i!=zz.end();i++){
cout<<*i;
}
cout<<endl;
}
}
结果
123
132
213
231
312
321
********
123
132
213
231
312
321
********
123
132
213
231
312
321