输入整数n(3<=n<=7),编写程序输出1,2,…,n整数的全排列,按字典序输出。
输入格式:一行输入正整数n。
输出格式:按字典序输出1到n的全排列。每种排列占一行,数字间无空格。
输入样例:在这里给出一组输入。例如:
3 输出样例:在这里给出相应的输出。例如:
123 132 213 231 312 321`
使用vector的:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int n;
cin>>n;
vector<int> v;
for(int i=1;i<=n;i++)
{
v.push_back(i);
}
do{
for(int i=0;i<n;i++)
{
cout<<v[i];
}
cout<<endl;
}while (next_permutation(v.begin(),v.end()));
return 0;
}
使用数组的:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int a[100];
for(int i=1;i<=n;i++)
{
a[i-1]=i;
}
do{
for(int i=0;i<n;i++)
{
cout<<a[i];
}
cout<<endl;
}while (next_permutation(a,a+n));
return 0;
}
使用C++的全排列函数next_permutation();
加上头文件 #include
使用容器vector的原因:能动态分配内存