使用algorithm头文件,加上"using namespace std;",就可以使用next_permutation()获取一个序列在全排列中的下一个序列。
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int a[10]={1,2,3};
do{
printf("%d%d%d\n",a[0],a[1],a[2]);
} while(next_permutation(a,a+3));
return 0;
}
使用do…while语句是因为123本身也需要输出,如果使用while会直接略过123而输出下一序列,导致结果会漏一个。