3
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
用了next_permutation()函数字典序排列,对应的有一个排序顺序相反的函数prev_permutation()
#include <iostream> #include <algorithm> using namespace std; int n; int l[10]; int main() { cin>>n; for(int i=0;i<=n;i++) l[i-1]=i; do { for(int i=0;i<n;i++) cout<<" "<<l[i]; cout<<endl; }while(next_permutation(l,l+n)); return 0; }
原文:http://www.cnblogs.com/asuml/p/5743456.html