标签:
next_permution(),按照字典序进行排列组合,
括号里的参数为类似sort里面的参数,用法相同
#include <bits/stdc++.h>
using namespace std;
#define Maxn 10
int main(){
int a[3];
a[0]=1;a[1]=2;a[2]=3;
do{
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
}while (next_permutation(a,a+3)); //参数3指的是要进行排列的长度
}
//如果存在a之后的排列,就返回true。如果a是最后一个排列没有后继,返回false,每执行一次,a就变成它的后继

如果交换a[0],a[1],a[2]的大小,排列的次数会改变
#include <bits/stdc++.h>
using namespace std;
#define Maxn 10
int main(){
int a[3];
a[0]=3;a[1]=2;a[2]=1;
do{
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
}while (next_permutation(a,a+3)); //参数3指的是要进行排列的长度
}

标签:
原文地址:http://www.cnblogs.com/yakoazz/p/5848762.html